将Perl与Win32 :: OLE模块一起使用我正在尝试将表插入到Microsoft Word文档中,然后修改列宽。我可以毫无困难地插入表格,但修改列宽更加困难。在创建宏并尝试将VBA转换为Perl之后,我就是这样:
my $word = Win32::OLE->new('Word.Application', sub {$_[0]->Quit;});
my $doc = $word->Documents->Open('myfile.doc');
### Code to find and select a tag to replace with a table goes here ###
my $table = $doc->Tables->Add($word->Selection->Range, 4, 4);
$table->Columns(1)->{PreferredWidthType} = wdPreferredWidthPoints;
$table->Columns(1)->{PreferredWidth} = 200;
不幸的是,这给最后两行“不能使用未定义的值作为HASH引用”错误。我已经尝试了其他几种变体,但没有一种有效,谷歌也没有帮助。我真的很感激如何做到这一点。
感谢。
答案 0 :(得分:0)
经过一些试验和错误,我发现这完成了这项工作:
function arr(){
$arr = array();
$arr['arr1']['key1'] = 'val1';
$arr['arr2']['key1'] = 'val1';
$arr['arr3']['key1'] = 'val1';
return $arr1;
}
只调整行1上的列就足够了,这会影响所有其他行。当你知道怎么做时很容易!