Вместо Печать файл строка за строкой, может быть эффективнее
- сохранить выбранный диапазон как
CSV UTF-8
- вам может понадобиться изменить тип файла после сохранения
- Используйте ADO для обработки файла как UTF-8
Либо добавится спецификация автоматически.
EDIT
Если вы незнакомы, вы можете выполнить процесс save to csv - utf8
вручную с включенным устройством записи макросов. Затем проверьте, что вы записали, и внесите соответствующие изменения.
Еще один способ добавления спецификации в контексте существующего кода - записать ее непосредственно в виде байтового массива в первой строке.
Например:
Dim BOM(0 To 2) As Byte 'EF BB BF
BOM(0) = &HEF
BOM(1) = &HBB
BOM(2) = &HBF
Open myFile For Binary Access Write As #1
Put #1, 1, BOM
Close #1
поместит спецификацию в начало файла.
Затем вы должны изменить режим в вашем последующем Print
коде на Append
.
Предлагаю вам прочитать о плюсах и минусах использования Print
против Write
Вы также должны прочитать о заявлениях декларации. В вашем случае только последняя переменная в каждой строке объявляется как указанный тип; предыдущие переменные неявно объявляются как имеющие тип Variant.