Использование «msoEncodingUTF8» с Win32 :: OLE в скрипте perl - PullRequest
0 голосов
/ 07 мая 2019

У меня есть Perl-скрипт, который сохраняет документ Word в формате HTML.Работает следующий код:

use strict;
use Win32::OLE::Const 'Microsoft Word';
[...]
$go_word_doc->SaveAs2({
    FileName => $gs_html_name,
    FileFormat => wdFormatFilteredHTML
    });

Чтобы закодировать выходной файл в UTF-8, я повернул свою команду следующим образом:

$go_word_doc->SaveAs2({
    FileName => $gs_html_name,
    FileFormat => wdFormatFilteredHTML,
    Encoding => msoEncodingUTF8
    });

Проблема в том, что "msoEncodingUTF8"считается голым словом, и я нигде не могу найти то, что должен добавить, чтобы оно заработало.

Может кто-нибудь помочь, пожалуйста?Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 07 мая 2019

Следующая команда создаст для вас msoEncodingUTF8 (и другие константы):

use Win32::OLE::Const 'Microsoft Office [0-9.]+ Object Library';
1 голос
/ 07 мая 2019

MsoEncoding Enum дает имена кодовым страницам Windows. msoEncodingUTF8 - это имя, данное кодовой странице UTF-8, 65001.

use constant msoEncodingUTF8 => 65001;
...