我在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
'获取文字流 '设置oFS = CreateObject(“Scripting.FileSystemObject”) '设置FileObj = oFS.GetFile(“// myaviall / teamsites / AviallReportingSolutions / Airplane_Usage_Log / Airplane_ACT.txt”) 'Set TS = FileObj.OpenAsTextStream(8,-2)'ForWriting,TristateUseDefault)
'写入文件
'TS.WriteLine UNameWindows & ";" & ReportName & ";" & Now & ";" & VersionNum
'TS.Close
'Set TS = Nothing
'Set FileObj = Nothing
'Set oFS = Nothing
End Sub
函数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: 退出功能
Err_Handler: MsgBox“出现以下错误”& vbCrLf& vbCrLf& _ “错误号码:”& Err.Number& vbCrLf& _ “错误来源:AppendTxt”& vbCrLf& _ “错误说明:”& Err.Description,vbCritical,“错误已经发生了!” GoTo Exit_Err_Handler 结束功能
答案 0 :(得分:0)
正如斯科特指出的那样,如果只有一个用户正在解决这个问题,那么我会首先看到它的访问权限。
我运行一个非常类似的过程,根据这里的代码从outlook写一行到csv文件 http://www.devhut.net/2011/06/06/vba-append-text-to-a-text-file/
这可能不是你的答案,但如果访问正常,那么尝试其他方法就不会有什么坏处。
<强>更新强>
我还将其包含在我的代码中以测试文件是否存在
exists = Dir$(sFile) <> fileName
fileName =&#34; Airplane_ACT.txt&#34;但我可能会尝试使用msgBox来查看它返回的内容。
另外尝试尝试将字符串更改为Airplane_ACT_test.txt并运行代码,这应该创建一个新的txt文件,如果是这种情况,那么问题可能与您的初始txt文件有关。
最后一件事:尝试使用不同的路径,例如:到用户的桌面。