我正在使用OpenFileDialog打开Excel工作簿,将数据从该工作簿传递到另一个工作簿,然后关闭我通过OpenFileDialog打开的工作簿。我的问题是传递数据...我如何获得我通过OpenFileDialog打开的文件的名称?我不能拥有路径,我只需要带有扩展名的文件名。这是我的代码的一部分
Dim filedialog As OpenFileDialog = New OpenFileDialog()
Dim strFileName As String
filedialog.Title = "Open File Dialog"
filedialog.InitialDirectory = "W:\TOM\ERIC\NET Dev"
filedialog.RestoreDirectory = True
If filedialog.ShowDialog() = DialogResult.OK Then
strFileName = filedialog.FileName
System.Diagnostics.Process.Start(strFileName)
StatVar.xlApp.Workbooks(StatVar.workbookName).Sheets("Input Form Info").Range("B4:B204").Value = StatVar.xlApp.Workbooks(strFileName).Sheets("DJA Corp Use").Range("C2:C202").Value
StatVar.xlApp.Workbooks(strFileName).Close(False)
End If
Else
Exit Sub
End If
我无法将数据从工作簿传递到工作簿,因为strFileName变量包含文件路径。我一直在尝试使用这个函数来返回文件名,但我显然没有足够的经验。任何帮助表示赞赏。
Public Function FileNameWithoutPath(ByVal FullPath As String) As String
Return System.IO.Path.GetFileName(FullPath).ToString
End Function
答案 0 :(得分:0)
您可能需要将其保留为Process.Start()的完整路径,然后删除路径,使其只是文件名:
If filedialog.ShowDialog() = DialogResult.OK Then
strFileName = filedialog.FileName
System.Diagnostics.Process.Start(strFileName)
strFileName = System.IO.Path.GetFileName(strFileName)
StatVar.xlApp.Workbooks(StatVar.workbookName).Sheets("Input Form Info").Range("B4:B204").Value = StatVar.xlApp.Workbooks(strFileName).Sheets("DJA Corp Use").Range("C2:C202").Value
StatVar.xlApp.Workbooks(strFileName).Close(False)
End If
答案 1 :(得分:0)
答案 2 :(得分:0)
获取打开文件对话框的文件名,然后使用System.IO.Path.GetFileName(OpenFileDialog1.FileName)