select文件并显示path时出现“object required”错误
我想通过点击我可以select一个文件,所选文件的path将显示在同一个Excel表单上的文本框上的Excel表单上的浏览button。这是我试过的代码:
Dim File_Path As Long With Application.FileDialog(msoFileDialogOpen) .AllowMultiSelect = False .Show GetFolder = .SelectedItems(1) TextBox1.Value = GetFolder End With End Sub
当我运行的代码,我能够select一个文件,但然后我得到一个运行时错误“对象需要”和行
TextBox1.Value = GetFolder
是突出显示。任何人请帮助我这个,谢谢你。
错误提示您在Activesheet中没有任何TextBox对象,或者对象引用不完整。
可能的解决scheme(当谈到ActiveSheet时):
ActiveSheet.TextBox1.Value = GetFolder
或者在谈论任何其他表格时:
Sheets("NameOfTheSheetHere").TextBox1.Value = GetFolder
误解了这个问题。
这是另一种方式。
更换
TextBox1.Value = GetFolder
同
ActiveSheet.Shapes("Textbox1").OLEFormat.Object.Object.Text = getfolder
以更结构化的方式…
Sub Button2_Click() Dim File_Path As Long Dim shp As Shape Set shp = ActiveSheet.Shapes("Textbox1") With Application.FileDialog(msoFileDialogOpen) .AllowMultiSelect = False .Show getfolder = .SelectedItems(1) shp.OLEFormat.Object.Object.Text = getfolder End With End Sub
而不是Application.FileDialog(msoFileDialogOpen)
您可以使用内置的Application.GetOpenFilename
Private Sub CommandButton1_Click() Dim Ret Ret = Application.GetOpenFilename("Excel Files (*.xls*), *.xls*") If Ret <> False Then _ ActiveSheet.Shapes("Textbox1").OLEFormat.Object.Object.Text = getfolder End Sub
如果你想显示所有的文件而不仅仅是Excel文件"Excel Files (*.xls*), *.xls*"
BTW把"Excel Files (*.xls*), *.xls*"
改为"All Files (*.*), *.*"
。