【问题标题】:Writing data from excel to the text based file .dxf将数据从 excel 写入基于文本的文件 .dxf
【发布时间】:2018-02-03 05:57:09
【问题描述】:

第一次在这个论坛上发帖,我是 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 行复制数据并将其粘贴到记事本文档中,它工作正常。

【问题讨论】:

  • 为什么不迭代范围并将每一行添加到 DXF 中?很难为您提供帮助,因为您没有向我们展示 Excel 文件的内容以及生成的 DXF 文件的外观。
  • DXF 的格式坦率地说是没有意义的。 Excel 文件使用 DXF 文件模板中的变量名替换。 DXF 模板以文本形式存储在 Excel 文件的选项卡中。
  • 很遗憾,我无法发布这些文件。我将尝试查看这两个文件的格式差异,以便提供更多信息。
  • 我找不到区别。有谁知道 Print 功能如何改变不同事物的格式,例如:制表符、空格、日期等?
  • 我还是不明白为什么你不能提供输出 dxf 文件。如果没有可验证的工作示例,没有人可以真正为您提供帮助。

标签: dxf


【解决方案1】:

我能够通过使用这篇文章中的代码来解决我的问题: 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-08
    • 2012-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多