当前位置:首页 > 代码 > 正文

multiselect代码(multipleSelect)

admin 发布:2022-12-19 20:32 178


本篇文章给大家谈谈multiselect代码,以及multipleSelect对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

excel vba代码问题

首先选择工作簿时,可以按住CTRL键或者SHIFT键来多选,再点“确定”

其次

FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xls),*.xls", MultiSelect:=True, Title:="合并工作薄")

注意这句里面的 (*.xls),*.xls

说明这些代码只适用于2003版的EXCEL

如果是2007以上版本

将整句改为

FileOpen = Application.GetOpenFilename(FileFilter:="Microsoft Excel文件(*.xlsx),*.xlsx", MultiSelect:=True, Title:="合并工作薄")

excel vba代码

已测试结果:

Sub test()

Application.ScreenUpdating = False

    Dim f

    ChDir ThisWorkbook.Path

    f = Application.GetOpenFilename("Excel2007文件,*.xlsx,Word文件,*.doc,文本文件,*.txt", 3, "选择要汇总的文件", MultiSelect:=True)

    Dim wb As Workbook

    Dim x

    For x = 1 To UBound(f)

        Set wb = Workbooks.Open(f(x))

        

        wb.Sheets(1).Range("a2:bt2").Copy Workbooks("合并.xlsm").Sheets(1).Range("a10000").End(3).Offset(1, 0)

        

        wb.Close False

    Next x

    Application.ScreenUpdating = True

    

    MsgBox "处理完成"

End Sub

vba代码请大神告诉我怎么修改

把函数sName这个去掉,用instrrev和mID就可以实现取得文件名

还有第二个问题,也解决了,自动会在最末行添加

第三个取文件内容,也包括在内了,不过只是取得文件前10个字的内容,具体需要可以修改

刚才的内容有点低,下面这段优化了一下,应该效率更高

如果对获取文档的内容有什么要求,可以私信我

Public Sub SetLink()

Dim i As Integer

On Error GoTo err_1 '因为有文件的操作防止出错

Set Fword = CreateObject("word.application")

EndRow = Sheets("实际表名").[B65000].End(xlUp).Row '实际表名,看情况改一下

With Application.FileDialog(msoFileDialogFilePicker)

.AllowMultiSelect = True

.Show

.Filters.Clear

.Filters.Add "Word File", "*.doc,*.docx"

For i = 1 To .SelectedItems.Count

Sheets("实际表名").Cells(EndRow + i, 2).Select '实际表名,看情况改

ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=.SelectedItems(i), TextToDisplay:=Mid(.SelectedItems(i), InStrRev(.SelectedItems(i), "\") + 1)

Sheets("实际表名").Cells(EndRow + i, 3) = FileDateTime(.SelectedItems(i))

'实际表名看情况改

path = .SelectedItems(i)

Set Dword = Fword.Documents.Open(path, True, True)

S1 = Dword.Content 'S1就是文档的全部内容

Dword.Close False '关闭打开的文档

Sheets("sheet1").Cells(EndRow + i, 4) = Right(S1, 10)

'right(S1,10)表示只取文档的前10个字,具体看情况改

Next i

End With

err_1:

Fword.Quit

Set Dword = Nothing '释放存储空间

Set Fword = Nothing '释放存储空间

End Sub

vba代码执行完后,执行另存,另存为时只打开指定路径,而不保存,可以做到吗?求代码

这个应该可以了,你试试看

Sub 另存为()

Dim strFilePath$

With Application.FileDialog(msoFileDialogSaveAs)

.InitialFileName = "D:\改为你需要的文件名" ".xlsm" '改为你需要的路径

If .Show = -1 Then

strFilePath = .SelectedItems(1)

Else

MsgBox "已取消保存": Exit Sub

End If

End With

ThisWorkbook.SaveAs strFilePath

End Sub

关于multiselect代码和multipleSelect的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/23018.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载