Я никогда не использовал Perl, поэтому я могу дать вам только псевдокод, основываясь на моих знаниях объектной модели Word и на том, что я вижу в коде в вопросе. Вместе с объяснением, приведенным ниже, этого, надеюсь, должно хватить, чтобы вы начали ...
Один из самых полезных объектов в объектной модели Word - Range
. Думайте о диапазоне как о невидимом выделении, чтобы работать с ним. Код автоматизации может использовать несколько диапазонов, но может быть только один выбор, что является одной из причин полезности диапазонов. Другая причина заключается в том, что выполнение обычно быстрее и меньше мерцания экрана.
Если цель состоит в том, чтобы вставить рисунки в конец документа, то необходим диапазон, представляющий конечную точку документа. Например (псевдокод! Я не знаю, как указать член перечисления слов в perl):
my $endDocRange = $go_document->Content;
$endDocRange->Collapse(Word.WdCollapseDirection.wdCollapseEnd);
Подумайте об этом, как сначала выделите весь документ, а затем нажмите стрелку вправо, чтобы в конце документа вспыхнул мигающий курсор.
Объект $endDocRange
затем используется в качестве целевого диапазона для изображения:
$go_document->InlineShapes->AddPicture( WorkDir() . $as_file, 0, 1, $endDocRange );
Если приведенный выше код запускается снова, дополнительное изображение должно появиться в конце документа, после первого изображения. (Но нет никаких гарантий, что текст в первой строке окажется в виде Selection
, вероятно, не изменится, основываясь только на коде в вопросе.)