Содержимое усекается при вводе текста в документ word

#powershell #ms-word

#powershell #ms-word

Вопрос:

Когда я пытаюсь ввести длинный текстовый файл в документ word, содержимое усекается на 3200 символов, в общей сложности 27 страниц, хотя полное содержимое составляет что-то вроде 6000 символов и 60 страниц при вставке вручную. Вот мой код:

 $Source1 = Get-Content -Path FileSystem::C:UsersMy_userDesktopfile.txt -Raw;
$Word = New-Object -ComObject Word.Application;
$Word.Visible = $True;
$Document = $Word.Documents.Add();
$Selection = $Word.Selection;
$Selection.TypeText($source1);
  

Комментарии:

1. Выполняет $Selection. У Text = $source1 есть аналогичное ограничение? (не проверял)

2. Привет, @slightlysnarky, это тоже сработало. Пока ограничений нет. Спасибо.

3. FWIW я подозреваю, что проблема. TypeText заключается в том, что он может выполнять что-то вроде «генерировать событие клавиатуры Windows для каждого символа», и Word вполне может потерять некоторые из этих событий, хотя этого не должно быть.

Ответ №1:

В официальной документации не упоминается ограничение по длине, хотя в этом сообщении на форуме предполагается, что оно составляет 64 КБ.

Хотя это не объясняет вашу проблему только с 6,000 символами, рассмотрите возможность использования вместо этого .InsertFile метода (непроверенный):

 $Selection.InsertFile('C:UsersMy_userDesktopfile.txt')