What I want to do.
使用工作宏将我启用宏的Excel文档发送给我的同事,该宏打开一个保存文件对话框,然后生成此csv .
What have I done?
我在Excel 2013中创建了一个VBA宏,它在我的机器上运行良好 . 但是,当我将这个启用Macro的excel表发送给我的同事时,他得到:
Microsoft Office Excel无法访问“我的计算机上的文档路径”文件 . 有几个可能的原因:
-
文件名或路径不存在 .
-
该文件正被另一个程序使用 .
-
您尝试保存的工作簿与当前打开的工作簿具有相同的名称
我的来源:
Sub Convert2CSV()
Dim fileName As String
fileName = "OrderSedel_" & Format(Now, "yyyy-mm-dd hh mm") & ".csv"
With Application.FileDialog(msoFileDialogSaveAs)
.Title = "xxx"
.AllowMultiSelect = False
.InitialFileName = fileName
.FilterIndex = 15
result = .Show
If (result <> 0) Then
' create file
fileName = Trim(.SelectedItems.Item(1))
fnum = FreeFile
Open fileName For Output As fnum
' Write the csv data from form record set
For i = 7 To ActiveSheet.UsedRange.Rows.Count
If ( _
(Not Trim(Cells(i, 1).Value & vbNullString) = vbNullString Or _
Not Trim(Cells(i, 3).Value & vbNullString) = vbNullString) And _
Not Trim(Cells(i, 9).Value & vbNullString) = vbNullString) Then
'Check EAN (Trim). If No EAN get Bolist ArtNum
If (Trim(Cells(i, 3).Value & vbNullString) = vbNullString) Then
Print #fnum, Cells(i, 1).Value & ";" & Cells(i, 9).Value
Else
Print #fnum, Cells(i, 3).Value & ";" & Cells(i, 9).Value
End If
End If
Next i
' close file
Close #fnum
End If
End With
End Sub
1 回答
发送它们的代码以插入宏来运行它,看看它们是否得到相同的错误 . 它对我运行正常(除了我定义我的变量) .
可能是他们的Excel副本没有设置为信任VBA . (在“设置”下 . )