#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')