3

У меня есть документ Word 2010 с таблицей из 3 столбцов. Строки имеют тексты с субтитрами для использования в учебном видео. Пример строки:

Я использую подпрограмму VBA, чтобы сохранить подписи на каждом из трех языков в отдельном файле .vtt (текст), на который будет ссылаться внутри тега Video на странице .html .

Проблема в том, что японские и корейские подписи сохраняются в виде ряда вопросительных знаков: ?????????????????????

Соответствующие фрагменты кода:

Open "d:\dropbox\Japanese.vtt" For Output As #1 Set rngTable = ActiveDocument.Range(Start:=TableCell.Range.Start, End:=TableCell.Range.End - 1) Print #1, rngTable.Text

Что я могу сделать, чтобы получить правильный вывод?

1 ответ1

2

Вам необходимо создать файл Unicode и использовать безопасные для Unicode функции для вывода текста.

Из документации Microsoft

Sub CreateAfile
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.CreateTextFile("c:\testfile.txt", True, True)
    a.WriteLine("This is a test.")
    a.Close
End Sub

Форма fs.CreateTextFile(filename(string), Overwrite(boolean), Unicode(boolean))

Я думаю, что вы можете использовать либо fs.write или fs.writeline . Не уверен, что Print #ff безопасен для Unicode. Вам может понадобиться использовать StrConv()

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .