WedX - журнал о программировании и компьютерных науках

Приложение: есть ли способ сохранить и закрыть внешний файл без запроса?

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

Все работает, но я получаю раздражающее окно MSP «Сохранить как» в конце процесса.

Я пробовал все ProjApp.DisplayAlerts = False, ProjApp.FileCloseEx, ProjApp.FileCloseEx pjSave, ProjApp.FileExit, ProjApp.FileExit pjSave или ProjApp.ActiveProject.SavesAs ProjApp.ActiveProject.Name, но у меня всегда есть это окно подсказки, от которого я хотел бы избавиться. Есть ли способ сделать это, как для книг Excel?

Изменить. Похоже, проблема связана с методом FileOpenEx. Я установил ProjApp.FileOpenEx(file, False, , , , , , , , , , 2), но когда дело доходит до FileCloseEx, я получаю сообщение о том, что файл доступен только для чтения, а не для чтения/записи, как это должно быть.

Dim ProjApp As MSProject.Application
Dim Proj As MSProject.Project

Set ProjApp = GetX("MSProject.Application")
ProjApp.Visible = True
ProjApp.DisplayAlerts = False

If ProjApp.FileOpenEx(files.MSPResourcePool, False, , , , , , , , , , 2) Then
    Set Proj = ProjApp.ActiveProject
Else
    MsgBox "Fichier non trouvé : " & vbCrLf & files.MSPRessPool
    Exit Sub
End If

ProjApp.ViewApplyEx Name:="Resource Sheet", ApplyTo:=0

...

ProjApp.FileCloseEx
Set Proj = Nothing
Set ProjApp = Nothing

ProjApp.DisplayAlerts = True
03.08.2018

  • Если вы выполните эти шаги вручную, файл пула ресурсов будет открыт для чтения и записи или только для чтения? 08.08.2018
  • Он открывается только для чтения. Я подозреваю, что это связано с тем, что на самом деле это пул ресурсов и, следовательно, его можно каким-то образом защитить. Я попытаюсь открыть мастер-план с пулом ресурсов и посмотреть, изменит ли это что-нибудь. 08.08.2018

Ответы:


1

Открытие пула ресурсов И генерального планирования, кажется, помогает. Пришлось изменить и способ закрытия с ProjApp.FileCloseEx на ProjApp.Quit pjSave

Dim ProjApp As MSProject.Application
Dim Proj As MSProject.Project

Set ProjApp = GetX("MSProject.Application")
ProjApp.Visible = True
ProjApp.DisplayAlerts = False

    If ProjApp.FileOpenEx(files.MSPRessPool, False, , , , , , , , , , 3) Then
        Set Proj = ProjApp.ActiveProject
    Else
        MsgBox "Fichier non trouvé : " & vbCrLf & files.MSPRessPool
        Exit Sub
    End If

    If ProjApp.FileOpenEx(files.MasterPlanning, False, , , , , , , , , , 3) Then
        Set Proj = ProjApp.ActiveProject
    Else
        MsgBox "Fichier non trouvé : " & vbCrLf & files.MSPRessPool
        Exit Sub
    End If

ProjApp.ViewApplyEx Name:="Resource Sheet", ApplyTo:=0

...

ProjApp.Quit pjSave
Set Proj = Nothing
Set ProjApp = Nothing

ProjApp.DisplayAlerts = True

Теперь я обновляю ресурсы в генеральном планировании, а он обновляет ресурсы в пуле ресурсов.

Другой вариант, который я хотел бы использовать, был бы ProjApp.ResourceSharingPoolUpdate, но 1/он не работает, когда пул ресурсов открыт с правами на чтение/запись, и 2/он говорит, что пул ресурсов доступен только для чтения, если открыт таким образом, и просит сохранить как копия. Думаю, мне еще есть над чем поработать, чтобы овладеть этими тайнами :)

08.08.2018
Новые материалы

Как создать диаграмму градиентной кисти с помощью D3.js
Резюме: Из этого туториала Вы узнаете, как добавить градиентную кисть к диаграмме с областями в D3.js. Мы добавим градиент к значениям SVG и применим градиент в качестве заливки к диаграмме с..

Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..


Для любых предложений по сайту: [email protected]