Как я могу гарантировать, что панель задач «детали» в Microsoft Project VBA не отображается - PullRequest
2 голосов
/ 14 января 2020

У меня есть приложение в проекте Microsoft, которое выполняет Backtrace задачи, а затем использует следующее для сохранения этого изображения на вкладке Excel

Application.EditCopyPicture Object: = False, ForPrinter: = 0, SelectedRows : = 0, FromDate: = EarliestStart, ToDate: = LFin, ScaleOption: = pjCopyPictureShowOptions, MaxImageHeight: = - 1 #, MaxImageWidth: = - 1 #, MeasurementUnits: = 2

определения для множества используемых переменных в процедуре: EarliestStart = StatusDate-30 Lfin = Fini sh целевой задачи для Backtrace, которая будет последней задачей в строке.

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

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

Существует ли команда vba, которую я могу использовать в коде, который будет проверять наличие дополнительной области задач и, если она присутствует, очистить ее. Я искал что-то, что могло бы проверить флажок «Лента задача \ подробности», но не смог найти его.

Если перед запуском приложения я удалил дополнительную панель, он работает нормально. Если я начинаю запускать vba с показом дополнительной панели, он вызывает диалоговое окно View «View».

Я экспериментировал с:

ViewApplyEx SinglePane: = True, ApplyTo: = 1 но при этом отображается диалоговое окно «Вид» «Вид» и вынуждает меня выбрать вид из списка, а это не то, чем я хочу заниматься.

Есть предложения относительно того, где мне следует искать?

1 Ответ

0 голосов
/ 14 января 2020

Метод, который вы ищете: PaneClose . Он закроет нижнюю панель активного окна. Это ничего не делает, если нижняя панель уже закрыта. Так что сделайте это:

Application.PaneClose
Application.EditCopyPicture Object:=False, ForPrinter:=0, SelectedRows:=0, FromDate:=EarliestStart, ToDate:=LFin, ScaleOption:=pjCopyPictureShowOptions, MaxImageHeight:=-1#, MaxImageWidth:=-1#, MeasurementUnits:=2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...