我是一个初学者,当我使用Application.FilaDialog(msoFileDialogOpen)时,我可以通过编程选择特定的文件,但无法点击打开按钮。我使用Sendkeys“{ENTER}”,但它不起作用。
希望你们帮我自动按下按钮
下面是我的代码:
Sub OpenButton()
With Application.FileDialog(msoFileDialogOpen)
.InitialFileName = "my_path"
.Filters.Clear
.Filters.Add "Eval-txt", "*.csv"
.AllowMultiSelect = False
If .Show <> 0 Then
Application.ScreenUpdating = False
.Execute
Application.SendKeys "{ENTER}"
End If
End Sub
字符串
2条答案
按热度按时间ar7v8xwq1#
FileDialog
是人机界面的功能,专门用于与人进行交互。如果您不需要来自人的任何信息,则无需使用此功能。什么将是所需的“按下'打开'按钮自动”的行动的结果?你会得到一个文件名.考虑到“编程选择一个特定的文件”,你可以得到这个结果只是分配特定的文件名到一个变量没有
FileDialog
.因此,代码:
字符串
一般来说,你需要陈述和回答的第一个问题是“是否需要人际互动?"。如果是,你需要确定互动的类型:
1.获取一些信息。它可以只是确认您以编程方式选择特定文件:
型
1.提供人工信息。您可以使用状态栏执行此操作:
型
aydmsdu92#
FileDialog
将返回用户选择的文件的路径,而不返回其他任何内容。要打开文件,必须使用
Workbooks.Open
,例如:字符串
如果每次都是同一个文件,你可以告诉代码打开它,而不需要用户的任何交互:
型
或者,如果文件名可以计算,您可以使用:
型
最后一个示例的文件名今天为 C:\Users\dbartrup-cook\Documents\01-Nov-23.csv,明天为 02-Nov-23.csv。