Так позволяет решить несколько вопросов, которые я знаю о ...
RGB: Термин 'RGB' не распознается как имя командлета ...
Конечно, вы знаете, почему это не работает, поскольку у PowerShell нет командлет RGB. Однако, если вы посмотрите на вход для $doc.Background.Fill.ForeColor.RGB
, он ищет целое число. Обращаясь к этому related article, вы можете увидеть, как мы можем сделать переход.
Существует оговорка, которую необходимо решить. Хотя приведенный выше код не вызывает ошибки, вы заметите, что цвет не отображается в документе. Это связано с тем, что цвет фона не отображается по умолчанию. Вам нужно будет включить его.
$doc.Background.Fill.Visible = $true
Хорошо, что один это делается сейчас, как о ....
Не может найти перегрузку для «Сохранить» и количество аргументов: «1».
Мы используем Get-Member
, чтобы увидеть, почему именно
PS C:\users\Cameron\Downloads> $doc | gm
TypeName: Microsoft.Office.Interop.Word.DocumentClass
...
RunLetterWizard Method void RunLetterWizard([ref] System.Object LetterContent, [ref] System.Object WizardMode), void _Document.Ru...
Save Method void Save(), void _Document.Save()
SaveAs Method void SaveAs([ref] System.Object FileName, [ref] System.Object FileFormat, [ref] System.Object LockComments...
...
Он не принимает никаких параметров, поэтому мы просто должны удалить $true
. Остальные записи просто показывают, что некоторые другие методы принимают параметры.
$doc.Save()
.... так .... за последние один
True: Термин 'True' не распознается как имя командлета ...
Я не видел эту ошибку и предполагаю, что это была опечатка, которая не попала в код вашего вопроса.
Пропустить RGB?
Функция сырой PowerShell, которая повторяет функциональность с небольшим количеством проверки данных
Function Get-RGB
{
Param(
[Parameter(Mandatory=$false)]
[ValidateRange(0,255)]
[Int]
$Red = 0,
[Parameter(Mandatory=$false)]
[ValidateRange(0,255)]
[Int]
$Green = 0,
[Parameter(Mandatory=$false)]
[ValidateRange(0,255)]
[Int]
$Blue = 0
)
Process
{
[long]($Red + ($Green * 256) + ($Blue * 65536))
}
}
Пример
PS C:\users\Cameron\Downloads> Get-RGB 129 0 54
3539073
Вы также можете использовать предустановленные цветовые перечисления Word, например: '$ doc.Background.Fill.ForeColor.RGB = [Microsoft.Office.Interop.Word.WdColor] :: wdColorViolet' –