0

所以我正在从 VBA 迁移到 .NET,在 VBA 中我使用了 Application.FileDialog 对象。我真的很喜欢它,因为您可以更改按钮名称并且对话框很好。无论如何,所以现在我想在我正在编写的 .NET 程序中使用它,但是因为我对 .NET 有点陌生,我不知道如何实现它。

它使用 Microsoft.Office.Core 参考,每当我尝试实例化 FileDialog 时,它都会说它不能,因为它是一个接口。好的,我明白了,但是我该如何实例化它呢?我尝试创建一个新类,然后编写“实现 FileDialog”,但随后 VS 给了我一个巨大的 FileDialog 属性和方法列表,我需要做一些事情......我很困惑。这是来自 MSDN 的参考:http: //msdn.microsoft.com/en-us/library/Microsoft.Office.Core.FileDialog%28v=office.14%29.aspx

所以这是我的问题:

  1. 无论是否有更好的选择,我该如何实施?...我只想学习
  2. 有没有更好的办法?不一样的方式?

更新:寻找看起来像文件浏览器的文件夹浏览器

谢谢!贾斯汀

4

2 回答 2

3

试试OpenFileDialog控件

 System.Windows.Forms.OpenFileDialog()

它符合您的需求吗?

于 2013-07-16T13:27:12.130 回答
2

如果您显示表单的工具箱,则OpenFileDialog可以将一个(和其他)拖到表单上。这里有一个简单的使用示例。

如果您愿意,可以使用 Microsoft.Office.Core 版本,但需要付出更多努力(收获甚微)。

添加了 Office 文件夹对话框(来自 VB.NET)的初始步骤是:

Imports Microsoft.Office.Core       'Project menu, Add references
Imports Microsoft.Office.Interop.Excel

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim xl As New Microsoft.Office.Interop.Excel.Application

        xl.FileDialog(MsoFileDialogType.msoFileDialogFolderPicker).Show()


    End Sub
End Class

您需要先进入项目菜单,添加参考。我正在使用 Excel,但它可能是 Access 等。

这是一个 Excel VBA 示例 - 您可以将额外的代码合并到我的中。

于 2013-07-16T13:27:28.697 回答