将数据从excel写入基于文本的文件.dxf

时间:2017-03-10 20:24:59

标签: dxf

这个论坛的第一篇文章,我是VBA的新手,所以我会尽可能详细。

我已经创建了一个宏来修改excel选项卡中的dxf绘图模板,然后将该数据写入新的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中的数据并将其粘贴到记事本文档中,它可以正常工作。

1 个答案:

答案 0 :(得分:0)

我可以使用此帖子中的代码解决我的问题: How to save particular column data of an excel worksheet to .txt file including line breaks in each cell content

我会感谢他们,但我没有足够的声誉。哈哈

这是从excel中的一列中的数据写入dxf文件。

我看起来像这样:

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