2013-07-16 2 views
0

Итак, я перехожу от VBA к .NET, а в VBA я использовал объект Application.FileDialog. Мне действительно понравилось, потому что вы можете менять названия кнопок, и диалог хорош. Во всяком случае, теперь я хотел бы использовать это в .NET-программе, которую я пишу, потому что я немного новичок в .NET. Я не знаю, как это реализовать.Интерфейс Office FileDialog в .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. Есть ли лучший способ? Другой способ?

UPDATE: Ищет браузер папки, которая выглядит как файловый браузер

спасибо! Джастин

+0

Вам также нужно использовать 'Application.FileDialog'. –

ответ

2

Если вы покажете Панель инструментов для своей формы, то вы можете перетащить ее в форму. OpenFileDialog (и другие). Существует простой пример его использования here.

Вы можете использовать версию 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 

Вам нужно зайти в меню Project, Add Reference (ы), во-первых. Я использую Excel, но это может быть доступ и т. Д.

Here is пример Excel VBA - вы можете просто добавить дополнительный код в мой.

+0

Это хорошо, за исключением, даже с OpenFolderDialog, у него нет этого текстового поля, где вы можете ввести в имени папки и нажмите «Ввод», и она откроет ее ... по какой-то причине мои пользователи любят эту функцию, поэтому я не могу ее отнять. Я действительно очень сильно вынужден использовать эту версию Microsoft.Office.Core ... просто не знаю, как ее реализовать. – Justin

+0

Вау! Благодаря! Это мне очень поможет. Я также вижу, что это создает новый экземпляр приложения Excel/Microsoft. В любом случае, чтобы этого не произошло, но все-таки используйте этот тип диалогового окна? Я просто думаю, чтобы все было единообразно, когда я продолжаю расширять приложение. – Justin

+0

Я считаю, что вам нужно прикрепить диалог к ​​экземпляру приложения Office.Это не имеет большого значения, поскольку вы ничего не делаете с этим. Кстати, этот пример, который я нашел, довольно беден, я уверен, что вы найдете лучший пример. –

3

Попробуйте OpenFileDialog контроль

System.Windows.Forms.OpenFileDialog() 

Имеет ли она соответствует вашим потребностям?

+0

По существу это он, но это выбор папок. В частности, я использую этот тип msoFileDialogFolderPicker, который предлагает пользователю возможность вводить имя папки и нажимать клавишу ввода и т. Д. При просмотре – Justin

Смежные вопросы