Запись данных из excel в текстовый файл .dxf

Первый пост на этом форуме, и я новичок в VBA, поэтому я буду настолько подробным, насколько смогу.

Я сделал макрос, который изменяет шаблоны чертежей dxf на вкладке Excel, а затем записывает эти данные в новый файл dxf. В настоящее время я пишу текстовый файл с кодом ниже:

Dim Application2 As Variant

 Range("A:A").Copy
 Application2 = Shell("c:\windows\notepad.exe", vbMaximizedFocus)

 AppActivate Application2

 SendKeys "^(V)", True

 SendKeys "%fa", True
 SendKeys "%t", True
 SendKeys "{DOWN 2}", True
 SendKeys "%n", True
 SendKeys savetarget, True
 SendKeys "%s", True

 SendKeys "%fx", True

Я пытался перейти на метод ниже, поэтому мне не нужно открывать блокнот и вводить нажатия клавиш.

FN = FreeFile
Open savetarget For Output Shared As #FN
For iCntr = 1 To copy_endline

mystring = workspace.Range("A" & iCntr).Value

Print #FN, mystring
mystring = ""
Next iCntr

Close #FN

Иногда это работало, но кажется, что форматирование каким-то образом изменяется, поэтому чертеж становится нечитаемым для Autocad. Если я вручную копирую данные из строки A и вставляю их в блокнот, все работает нормально.


dxf
person Jacob MF    schedule 10.03.2017    source источник
comment
Почему бы вам не повторить диапазон и не добавить каждую строку в DXF? Вам трудно помочь, потому что вы не показываете нам содержимое файла Excel и, следовательно, то, как выглядит результирующий файл DXF.   -  person Andrew Truckle    schedule 13.03.2017
comment
Формат DXF, откровенно говоря, не имеет смысла. В файле Excel используется замена имен переменных в шаблоне файла DXF. Шаблоны DXF хранятся в виде текста на вкладке файла Excel.   -  person Jacob MF    schedule 14.03.2017
comment
К сожалению не могу выложить файлы. Я попытаюсь просмотреть два файла на предмет различий в форматировании, чтобы предоставить дополнительную информацию.   -  person Jacob MF    schedule 14.03.2017
comment
Я не мог найти разницу. Кто-нибудь знает, как функция «Печать» изменяет форматирование различных вещей, таких как табуляция, пробелы, даты и т. Д.?   -  person Jacob MF    schedule 28.03.2017
comment
Я до сих пор не понимаю, почему вы не можете предоставить выходной файл dxf. Без проверенного рабочего примера никто не сможет вам помочь.   -  person Andrew Truckle    schedule 28.03.2017
comment
Понял. Я сделаю пример dxf для этого. Я просто не хотел публиковать шаблоны своих компаний.   -  person Jacob MF    schedule 28.03.2017
comment
Я только что вспомнил, чтобы написать, что исправило мою проблему. Я нашел этот пост, чтобы помочь мне: stackoverflow.com/questions/27729408/   -  person Jacob MF    schedule 03.02.2018


Ответы (1)


Я смог исправить свою проблему, используя код из этого сообщения: Как сохранить определенные данные столбца рабочего листа Excel в файл .txt, включая разрывы строк в содержимом каждой ячейки

Я бы поблагодарил их, но у меня недостаточно репутации. ха-ха

При этом напишите файл dxf из данных в один столбец в excel.

Мой выглядит примерно так:

Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile(SaveLocation & DWG_Name & ".dxf", True)
nLastrow = Cells(Rows.Count, "A").End(xlUp).Row
nFirstRow = 1

For N = nFirstRow To nLastrow
    t = Cells(N, "A").Text
    a.WriteLine (t)
Next
a.Close
person Jacob MF    schedule 02.02.2018