Member 14153595 Ответов: 1

Как закрыть рабочие книги в субподрядчике, которые были открыты в других субподрядчиках?


Я пытаюсь написать программу visual basic (VS 2017), которая откроет целых шесть различных книг Excel. Когда программа загрузится, она откроет две отдельные книги, которые будут использоваться для справочной информации. Другая кнопка (sub) откроет целых четыре отдельные книги на основе выбора пользователем из списка.

После этого данные будут вводиться непосредственно в каждую из четырех книг отдельно вне программы visual basic. Когда все данные будут введены в отдельные книги, я нажму кнопку (sub) на форме visual basic, которая закроет все открытые электронные таблицы.

Когда я запускаю sub, который должен закрыть файлы, я получаю сообщение, которое говорит: "ссылка на объект не установлена на экземпляр объекта."

Что я должен сделать, чтобы это сработало?

Что я уже пробовал:

Я спотыкался, пытаясь изменить тусклые утверждения, такие как

Дим Всемирного банка в качестве нового Excel.книги и т. д., и т. д
Я не знаю, что еще можно попробовать.

Ralf Meier

Не видя ничего из ваших методов и декларации, я не могу дать вам никакой информации - извините.
Ваше сообщение означает, что вы пытаетесь получить доступ к чему-то, что не назначено (не имеет содержимого) в это время ...

1 Ответов

Рейтинг:
2

CHill60

Вам нужно держать ручки к книгам, которые вы открываете.

Если бы это был я, у меня был бы класс, который обрабатывал бы открытие и закрытие книг, которые хранили бы ссылку на объект рабочей книги внутри него.

Коллекция объектов этого класса может быть сохранена как частное свойство формы. Ваша кнопка закрытия просто должна пройти через эту коллекцию, вызывая метод close вашего класса.

Как уже отметил @Ralf-Meier, вы не дали нам достаточно информации, чтобы быть более конкретным.