Печать Windows .Count объекта OneNote.Application - PullRequest
0 голосов
/ 12 апреля 2020

Надеюсь, вы в полной безопасности в эти трудные времена.

Мне нужна помощь, чтобы получить Windows .Count для объекта OneNote.Application в PowerShell. Он должен вернуть количество открытых OneNote windows.

Я использую этот код:

$OneNote = New-Object -ComObject OneNote.Application # create new ComObject
Write-Host ($OneNote.Windows.Count)

Это дает пустой вывод.

Мой вопрос, как можно Я получаю это, чтобы напечатать номер моего открытого счета OneNote windows, например, 5, если у меня есть пять windows открытых.


Вещи, которые я пытался отладить и выяснить проблему: (но я еще не достиг хорошего понимания)

Один: Когда я попробовал эту команду:

Write-Host ($OneNote.Windows.Count)

Она дает:

System.__ComObject # however I have 5 OneNote windows open

Когда я попробовал эту команду:

$OneNote.Windows

Это дает:

System.__ComObject
System.__ComObject
System.__ComObject
System.__ComObject
System.__ComObject

Два: Я могу перечислить всех членов OneNote.Application объект успешно с помощью этого кода:

$OneNote | Get-Member # Lists the members of $OneNote object, it successfully lists all members including "Windows"

Это дает

…
UpdateHierarchy           Method     void UpdateHierarchy(string bstrChangesXmlIn, 
Microsoft.Office.Interop.OneNote.XMLSchema xsSchema), void UpdateHierarchy(string bstrChan...
UpdatePageContent         Method     void UpdatePageContent(string bstrPageChangesXmlIn, datetime dateExpectedLastModified, Microsoft.Office.Interop.OneNote.XMLSchema xsSche...
COMAddIns                 Property   System.Object COMAddIns {get;}
Dummy1                    Property   bool Dummy1 {get;}
LanguageSettings          Property   System.Object LanguageSettings {get;}
Windows                   Property   Microsoft.Office.Interop.OneNote.Windows Windows {get;}
...