VBA 连接到文件服务器上的另一个工作簿
VBA connection to another workbook on a fileserver
我想将数据从一个工作簿导入到另一个工作簿,并且在 OLEDB 驱动程序的帮助下完成了此操作。但是它只适用于我的本地机器。当我尝试在实际生产环境中测试它时,它无法连接到源文件。 运行 文件和源文件都存在于具有身份验证要求的文件服务器上,但我有 read/write 访问权限,但我无法打开源文件。
每次我尝试从 excel 工作簿中获取数据时,我都会收到一条错误消息,提示我尝试连接的文件已经打开,无法访问。我确定没有人在使用源文件。我试过使用不同的方式来编写文件路径,每个变体都会给我不同的错误。 ("\FILERP\..." 以及一个盘符 "G:...")
您可以在下面找到我尝试过但没有成功的字符串连接之一。
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & filepath & ";" & _
"User ID=" & userName & ";" & _
"IMEX=1;" & _
"Mode=Read;" & _
"Extended Properties=""Excel 12.0 Xml;" & _
"HDR=NO;"""
我遇到的一些错误示例:
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & filepath & ";" & _
"Extended Properties=""Excel 12.0 Xml;HDR=No;"""
运行时错误“-2147467259 (80004005)”"Can't update. The database or object is write protected."
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & filepath & ";" & _
"Integrated Security=SSPI;" & _
"Extended Properties=""Excel 12.0 Xml;HDR=No;"""
运行时错误“-2147217887 (80040e21)”"Multiple-step OLE DB operation generated errors. Check each OLE DB status value"
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & filepath & ";" & _
"User Id=" & userName & ";" & _
"Password=****;" & _
"Extended Properties=""Excel 12.0 Xml;HDR=No;"""
运行时错误'-2147217843 (80040e4d)"Can't start the program. The information file for workgroups is missing or is exclusively opened by another user."
经过长时间尝试不同的事情,答案其实超级简单,也很尴尬。
在我的文件路径中,我认为它是 \FILEREP\,但实际上是 \FILERP\
所以我给所有人的教训是,在开始查看其他内容之前,请确保您拥有正确的文件路径! :)
最后我需要的只是下面看到的标准连接字符串!
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & filepath & ";" & _
"Extended Properties=""Excel 12.0 Xml;HDR=No;"""
我想将数据从一个工作簿导入到另一个工作簿,并且在 OLEDB 驱动程序的帮助下完成了此操作。但是它只适用于我的本地机器。当我尝试在实际生产环境中测试它时,它无法连接到源文件。 运行 文件和源文件都存在于具有身份验证要求的文件服务器上,但我有 read/write 访问权限,但我无法打开源文件。
每次我尝试从 excel 工作簿中获取数据时,我都会收到一条错误消息,提示我尝试连接的文件已经打开,无法访问。我确定没有人在使用源文件。我试过使用不同的方式来编写文件路径,每个变体都会给我不同的错误。 ("\FILERP\..." 以及一个盘符 "G:...")
您可以在下面找到我尝试过但没有成功的字符串连接之一。
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & filepath & ";" & _
"User ID=" & userName & ";" & _
"IMEX=1;" & _
"Mode=Read;" & _
"Extended Properties=""Excel 12.0 Xml;" & _
"HDR=NO;"""
我遇到的一些错误示例:
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & filepath & ";" & _
"Extended Properties=""Excel 12.0 Xml;HDR=No;"""
运行时错误“-2147467259 (80004005)”"Can't update. The database or object is write protected."
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & filepath & ";" & _
"Integrated Security=SSPI;" & _
"Extended Properties=""Excel 12.0 Xml;HDR=No;"""
运行时错误“-2147217887 (80040e21)”"Multiple-step OLE DB operation generated errors. Check each OLE DB status value"
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & filepath & ";" & _
"User Id=" & userName & ";" & _
"Password=****;" & _
"Extended Properties=""Excel 12.0 Xml;HDR=No;"""
运行时错误'-2147217843 (80040e4d)"Can't start the program. The information file for workgroups is missing or is exclusively opened by another user."
经过长时间尝试不同的事情,答案其实超级简单,也很尴尬。
在我的文件路径中,我认为它是 \FILEREP\,但实际上是 \FILERP\
所以我给所有人的教训是,在开始查看其他内容之前,请确保您拥有正确的文件路径! :)
最后我需要的只是下面看到的标准连接字符串!
strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & filepath & ";" & _
"Extended Properties=""Excel 12.0 Xml;HDR=No;"""