Установить текущий каталог в Excel. Приложение через .NET Office PIA - PullRequest
1 голос
/ 30 ноября 2011

Я хочу создать электронную таблицу Excel из приложения .NET, а затем установить текущий каталог экземпляра Excel.Application в пользовательскую папку.Я хочу сделать это так, когда пользователь нажимает кнопку «Сохранить» в Excel, диалоговое окно «Сохранить как» уже находится в правильном каталоге.

Я знаю, что можно изменить текущий каталог в экземпляре Excel с помощью VBA.FileSystem..ChDir и выполняем его в экземпляре Excel.Application с кодом или макросом VBA следующим образом:

  1. Создание электронной таблицы Excel из C # .NET

    Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
    excel.Workbooks.Add();
    excel.Visible = true;  
    
  2. Когда электронная таблица Excel открыта, нажмите ALT + F11.Затем создайте и запустите следующий макрос

    Sub SetChdir()
       Call FileSystem.ChDir("C:\To\My\Custom\Directory\")
    End Sub
    
  3. При нажатии кнопки Сохранить в Excel текущему каталогу задается путь, заданный с помощью ChDir

Я могу 'не могу понять, или даже если это возможно, как создать такое поведение из .NET.Я устал возиться с Excel.DefaultFilePath, который Excel использует при запуске для установки текущего каталога.Но у него есть две проблемы:

  • Когда для DefaultFilePath задано другое значение, вам нужно перезапустить Excel, чтобы применить его к новым или открытым таблицам
  • Я действительно не хочуизменить текущий DefaultFilePath пользователей, поскольку он является глобальным значением для Excel, а не этой отдельной электронной таблицы.

1 Ответ

1 голос
/ 19 октября 2012

Есть другой способ.

excel.ExecuteExcel4Macro("DIRECTORY(\"C:\\To\\My\\Custom\\Directory\")");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...