【发布时间】:2018-10-27 19:53:44
【问题描述】:
我在尝试打开位于网络文件夹中的工作簿时遇到了关于 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")
【问题讨论】:
-
从 unc 路径打开 excel 文件对我来说很好。从单元格中抓取路径时也是如此。
-
@gizlmo 你能粘贴你使用的代码吗?是否也可能是单元格的格式问题?
标签: excel vba unc network-drive