Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 网络位置上文件的vba代码路径_Excel_Vba - Fatal编程技术网

Excel 网络位置上文件的vba代码路径

Excel 网络位置上文件的vba代码路径,excel,vba,Excel,Vba,下面的代码用于将多个工作簿中的数据合并到单个工作簿中。这个宏在我的计算机上工作。我想将此文件放置在网络位置。我需要关于如何使代码在未映射的网络位置上工作的帮助 Sub Mergemom() Dim wbk As Workbook Dim sht As Worksheet Dim shtt As Worksheet Dim sheetfirst As Worksheet Dim sheetsecond As Worksheet Dim sheetthird As Worksheet Dim wbk

下面的代码用于将多个工作簿中的数据合并到单个工作簿中。这个宏在我的计算机上工作。我想将此文件放置在网络位置。我需要关于如何使代码在未映射的网络位置上工作的帮助

Sub Mergemom()
Dim wbk As Workbook
Dim sht As Worksheet
Dim shtt As Worksheet
Dim sheetfirst As Worksheet
Dim sheetsecond As Worksheet
Dim sheetthird As Worksheet
Dim wbk2 As Workbook
Set wbk2 = ThisWorkbook
Dim Filename As String
Dim Path As String
Path = "E:\Com\"  'CHANGE Folder PATH
Filename = Dir(Path & "*.xlsx")
'OPEN EXCEL FILES
Do While Len(Filename) > 0  'IF NEXT FILE EXISTS THEN
Set wbk = Workbooks.Open(Path & Filename)
wbk.Activate
For Each shtt In wbk.Worksheets
wbk.Activate
Var = shtt.Name
shtt.Select
Range("A2").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("MOM.xlsm").Activate
Dim lr As Integer
'Var = sht.Name
Sheets(Var).Select
lr =wbk2.Sheets(Var).Cells(Rows.Count,1).End(xlUp).Row
Cells(lr + 1, 1).Select
ActiveSheet.Paste
Next
wbk.Close True
Filename = Dir
Loop
End Sub

取决于操作系统/源共享类型。我只为“cifs”共享进行了此操作,因此我将假设您在windows上,并且您的共享基于SMB协议的某些变体(即使不是,这也应该可以工作)

您可以使用\share name.domain.com\或共享IP地址\10.x.x.x\

要获取该共享路径,请在windows资源管理器中右键单击映射的驱动器,您将看到标题为(\share name)(E:)。

我建议使用共享文件夹的路径。例如:

Dim path As String
path = "\\server_name\all_users\documents\"

如果您在目标文件夹上正确设置了用户权限,则任何人都不会在访问共享工作簿时遇到问题。

对不起,请使用错误的示例:
wbName=Dir(ActiveWorkbook.Path&“\*工作簿名*”)工作簿。打开文件名:=thishworkbook.Path&“\”&wbName
在哪里添加代码?谢谢GMalc。正如您所说,我用以下代码替换:wbName=Dir(ActiveWorkbook.Path&“\MOM.xlsm”)工作簿。打开文件名:=thishworkbook.Path&“\”&wbName现在显示“编译错误:循环不执行”,我已尝试使代码可行,但未成功。找人帮忙。