在尝试打开位于网络文件夹上的工作簿时,我遇到了有关workbook.open函数的问题。 VBA宏导致
“1004错误”
没有任何具体原因,只是文件路径不可用。
我已经使用谷歌和这个社区很长一段时间来解决这个问题,在我尝试的步骤和我最后的唯一解决方案之下。 我的问题是:为什么Excel表现得像那样,下次我该怎么办?
最初,用户在源工作簿中的单元格中输入文件路径,并在计算机上本地保存。 VBA代码接受单元格的输入(我尝试了Range(“K4”)和Range(“K4”)。value)并将其与字符串对齐,该字符串是可见的(调试时可变监视)但在它到来时会出错到Workbook.open函数。
我尝试使用特定于用户的网络路径(例如“G:/ ...”),但也尝试使用通用网络约定路径(“\\ xxx.xxx ...”),因为它更准确,因为并非每个用户都将网络文件夹映射到相同的驱动器号。
最后,我唯一可行的解决方案是VBA编辑器中带有UNC路径的硬编码路径。
为什么会这样?在这种情况下,网络路径不会改变,但是当必须将文件夹写入单元格时,我将丢失。
感谢您的费用!
编辑: 基本上就是这个代码......我删除了不必要的部分......
'Variablen
Dim MA$, Monat$, Fehltag$, Ort$, Projekt$, FilePlanung$, MainString$, NeuerString$
Dim LastRowM&, StartZelleP&, ProjektP&
Dim wb, wbP As Workbook
Dim wsK, wsS, wsM As Worksheet
Dim StartDatumM As Date
Dim array_monate As Variant
'Arbeitsblätter
Set wb = ThisWorkbook
Set wsK = wb.Sheets("Kopfblatt")
Set wsS = wb.Sheets("Stammdaten")
Set wsM = wb.ActiveSheet
'Fix
MA = wsK.Range("D2")
Monat = wsM.Name
FilePlanung = wsS.Range("K4")
Application.ScreenUpdating = False
Set wbP = Workbooks.Open(fileName:=FilePlanung)
'Set wbP = Workbooks.Open(FilePlanung) --> Tried also this and many other ways...
Set wsP = wbP.Sheets("aktuell")
答案 0 :(得分:0)
这是我使用的代码:
Dim wb As Workbook
Set wb = Workbooks.Open(Worksheets("Sheet1").Range("A1").Value)