将 Excel 2007 中的文本写入 Sharepoint 站点上的 .txt 文件会导致运行时错误“76”找不到路径
Posted
技术标签:
【中文标题】将 Excel 2007 中的文本写入 Sharepoint 站点上的 .txt 文件会导致运行时错误“76”找不到路径【英文标题】:Writing text from Excel 2007 to a .txt file on a Sharepoint Site causes Run-Time error'76' Path not found 【发布时间】:2012-12-01 15:23:03 【问题描述】:我在 Excel 2007 项目中有这个 VBA 子程序。它在 Sharepoint 站点中的 .txt 文件中记录用户名、报告名称、日期和版本。我的一些用户遇到了Run-Time error'76' Path not found
问题。
这是我的代码:
Sub logReport(ReportName As String)
Call AppendTxt("//myaviall/teamsites/AviallReportingSolutions/Airplane_Usage_Log/Airplane_ACT.txt", UNameWindows & ";" & ReportName & ";" & Now & ";" & VersionNum)
Dim oFS, TS, FileObj
'Get text stream
'Set oFS = CreateObject("Scripting.FileSystemObject")
'Set FileObj = oFS.GetFile("//myaviall/teamsites/AviallReportingSolutions/Airplane_Usage_Log/Airplane_ACT.txt")
'Set TS = FileObj.OpenAsTextStream(8, -2) 'ForWriting, TristateUseDefault)
' Write to file
'TS.WriteLine UNameWindows & ";" & ReportName & ";" & Now & ";" & VersionNum
'TS.Close
'Set TS = Nothing
'Set FileObj = Nothing
'Set oFS = Nothing
End Sub
Function AppendTxt(sFile As String, sText As String)
On Error GoTo Err_Handler
Dim FileNumber As Integer
FileNumber = FreeFile ' Get unused file number
Open sFile For Append As #FileNumber ' Connect to the file
Print #FileNumber, sText ' Append our string
Close #FileNumber ' Close the file
Exit_Err_Handler:
Exit Function
Err_Handler:
MsgBox "The following error has occured" & vbCrLf & vbCrLf & _
"Error Number: " & Err.Number & vbCrLf & _
"Error Source: AppendTxt" & vbCrLf & _
"Error Description: " & Err.Description, vbCritical, "An Error has Occured!"
GoTo Exit_Err_Handler
End Function
【问题讨论】:
这些用户是否有权访问共享点站点? 【参考方案1】:正如 Scott 指出的那样,如果只有一个用户遇到问题,我会首先查看它。
我运行了一个非常相似的过程,它根据此处的代码从 Outlook 将一行写入 csv 文件 http://www.devhut.net/2011/06/06/vba-append-text-to-a-text-file/
这可能不是你的答案,但如果访问正常,那么尝试其他方法不会有什么坏处。
更新
我还将它包含在我的代码中以测试文件是否存在
exists = Dir$(sFile) <> fileName
其中 fileName = "Airplane_ACT.txt" 但我可能会尝试使用 msgBox 来查看它返回的内容。
还可以尝试将您的字符串更改为 Airplane_ACT_test.txt 并运行代码,这应该会创建一个新的 txt 文件,如果是这种情况,那么问题可能与您的初始 txt 文件有关。
最后一件事:尝试使用不同的路径,例如:到用户的桌面。
【讨论】:
瑞恩,感谢您的回复。这个问题发生在多个用户身上,我已经验证了他们的访问权限。所以另一种方法可能是我的下一步。有什么建议吗? Ryan,我试过你的方法,我的测试用户收到错误 76,找不到路径。这是我的代码: 您的新代码可以在您的机器上运行吗?并且您是否测试过用户可以打开文件,用户可以使用Windows资源管理器打开文件? 我让其中一位用户使用 Windows 资源管理器查找路径,然后它就出现了。所以机器正在找到它,但只是在运行宏时没有。有什么想法吗? 好吧,这让我有点难过,如果代码对您有用,那么用户具有与您相同的访问级别并且可以导航到文件,那么理论上它应该可以工作。我假设代码在 Open sFile For Append As #FileNumber 上崩溃以上是关于将 Excel 2007 中的文本写入 Sharepoint 站点上的 .txt 文件会导致运行时错误“76”找不到路径的主要内容,如果未能解决你的问题,请参考以下文章
用python从符合一定格式的txt文档中逐行读取数据并按一定规则写入excel(openpyxl支持Excel 2007 .xlsx格式)