У меня есть фрагмент кода, который открывает шаблон слова, а затем пытается установить значения с именем FormFields.Невозможно установить Comobject Value
$options = @{
'foo' ='bar';
'bizz' = 'buzz';
}
$document = 'C:\Form_template.doc'
$word = new-object -ComObject Word.application
$doc = $word.Documents.Open($document)
$word.visible = $true
$fields = $doc.FormFields
$fields.item('foo').Result = $options['foo']
$fields.item('bizz').Result = $options['bizz']
При запуске этого фрагмента поля формы установлены неправильно. Однако, когда я запускаю
$fields.item('foo').Result = 'bar'
$fields.item('bizz').Result = 'buzz'
Значения устанавливаются по желанию.
Редактировать: Вот пример в интерактивной оболочке
PS C:\>$fields.item('foo').Result = $options['foo']
PS C:\>$fields.item('bizz').Result = $options['bizz']
PS C:\> $doc.FormFields.Item('foo').Result
PS C:\> $doc.FormFields.Item('bizz').Result
PS C:\>#Now let's try setting the values directly with a string.
PS C:\>$fields.item('foo').Result = 'bar'
PS C:\>$fields.item('bizz').Result = 'buzz'
PS C:\> $doc.FormFields.Item('foo').Result
bar
PS C:\> $doc.FormFields.Item('bizz').Result
buzz
Почему я не в состоянии установить значение, используя значения поля формы из хэша?
'$ options ['foo']' is ''bar'', поэтому одна и та же команда, статически использующая значение, будет' $ fields.item (' foo '). Результат =' bar'' – BenH
BenH - Таким образом мой вопрос. Они должны быть одинаковыми, но они дают разные результаты. – thisguy123
Ваша примерная строка: '$ fields.item ('foo'). Результат = 'foo'' не' $ fields.item (' foo '). Результат =' bar'' – BenH