/ / Вилучення назви робочої книги Excel до того, як вона фактично відкриється - c #, vba, excel-vba, vsto, shared-addin

Витяг із назви книги Excel перед тим, як він дійсно відкривається - c #, vba, excel-vba, vsto, shared-addin

Я намагаюся отримати назву робочої книги до того, як вона фактично відкриється.

((Excel.AppEvents_Event)this.Application).WorkbookOpen += new Excel.AppEvents_WorkbookOpenEventHandler(App_WorkBookOpen);



private void App_WorkBookOpen(Excel.Workbook Wb)
{
System.Windows.Forms.MessageBox.Show("Shakti " + " " + Wb.Name);

}

З обробником, як показано вище, Excelдодаток показує назву робочої книги, коли вона повністю відкрита. Моя мета - зробити деяку офіційну перевірку, перш ніж вона буде фактично відкрита і дані відображаються користувачеві.

Чи є спосіб або механізм вилучення імені файлу до того, як вміст завантажується в Excel і показується користувачеві? Будь-яка допомога високо цінується. Дякую.

Відповіді:

0 для відповіді № 1

AFAIK, ти цього не можеш зробити. Але, як я вже згадував у своєму коментарі, ви могли приховати робочу книжку в той момент, коли її видно. Тож користувач побачить робочу книжку відкритою на частку секунди, а потім стане невидимою. У цю частку секунди ви можете прочитати назву робочої книги, а потім сховати її.

На основі ваших розрахунків / висновку ви можете закрити / приховати робочу зошит за необхідності.

Ви можете приховати робочу книжку за допомогою

Wb.Windows[1].Visible = false;

0 для відповіді № 2

Ні ти не можеш.

Ви все одно можете створити макрос на модулі WorkBook із тегом Open class, як тут:

Private Sub Workbook_Open()

Dim ws As Workbooks

For Each ws In ActiveWorkbook.Worksheets

MsgBox ws.Name

Next

ActiveWorkbook.Worksheets.Close

End Sub

Потім зателефонуйте на цей підрозділ через c #, відкривши файл,цей підзаряд працює перед завантаженням робочої книги, після чого він закриває його. Це не має цього сенсу, тому що ви більше ніколи не отримаєте доступ до wb ... Можливо, за допомогою певного налаштування тут і там ви зможете виконати своє завдання, але це залежить від вас.

Сподіваюся, це допоможе ...


0 для відповіді № 3

Хіба "t Wb.name не збігається з ім'ям файлу? У такому випадку, оскільки ви повинні знати ім'я / місце розташування, щоб відкрити його, ви можете заздалегідь перевірити це?