Преобразование файла Excel в PRN дает разные языковые данные - PullRequest
1 голос
/ 17 апреля 2019

после конвертации моего листа в prn выдает ошибку при загрузке на мой erp, когда я конвертирую prn в формат txt, я вижу какой-то китайский язык, написанный как решить эту проблему. ниже код добавить значение +1 в строке "A" и преобразовать в prn

Sub CONVERT()

Dim vcounter As Long
Dim ws As Worksheet

For Each ws In Sheets
  ws.Activate
  vcounter = 2
  While Range("A" & vcounter).Value <> ""
    Range("a" & vcounter).Value = Range("a" & vcounter).Value + 1   
    vcounter = vcounter + 1
  Wend
  Application.DisplayAlerts = False
  ActiveSheet.SaveAs Filename:="D:\birla soft\" & ActiveSheet.Name & ".prn"
Next ws

End Sub

1 Ответ

2 голосов
/ 17 апреля 2019

Вы сохраняете файл .xlsm / .xlsx с расширением .prn;это не делает его файлом .prn, это все же файл .xlsm / .xlsx - расширение определяет не формат файла, а просто удобный для нас, маленький человек, возможность распознавать то, на что мы смотрим, когдамы просматриваем файлы.Вы хотите предоставить xlTextPrinter XlFileFormat аргумент методу SaveAs :

ActiveSheet.SaveAs Filename:="D:\birla soft\" & ActiveSheet.Name & ".prn", xlTextPrinter

Примечание об этом:

ws.Activate

Тебе это не нужно.Вместо этого квалифицируйте эти вызовы Range с помощью объекта ws - и вы хотите выполнить итерацию коллекции Worksheets (Sheets может содержать все виды типов листов вне листа):

For Each ws In ActiveWorkbook.Worksheets ' or did you mean to iterate sheets in ThisWorkbook?
    Do While ws.Range(...)
        ws.Range(...) = ws.Range(...) + 1
        vcounter = vcounter + 1
    Loop
    Application.DisplayAlerts = False
    ws.SaveAs FileName:="..." & ws.Name & ".prn", FileFormat:=xlTextPrinter
Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...