2017-03-10 9 views
1

このフォーラムの最初の投稿と私はVBAを初めて使うので、できるだけ詳しく説明します。エクセルからテキストベースのファイルにデータを書き込む.dxf

私は、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

鉱山は、次のようになりますか? Excelファイルの内容と結果として得られるDXFファイルの内容を表示しないため、あなたを助けるのは難しいです。 –

+0

DXFは、率直には意味をなさない形式です。 Excelファイルでは、DXFファイルテンプレートの変数名の置換が使用されます。 DXFテンプレートは、Excelファイルのタブにテキストとして保存されます。 –

+0

残念ながら私はファイルを投稿できません。私はフォーマットの違いについて2つのファイルを調べて、いくつかの情報を提供できるようにします。 –

答えて

0

私はこの記事からコードを使用することによって、私の問題を解決することができました: How to save particular column data of an excel worksheet to .txt file including line breaks in each cell content

私は彼らに感謝でしょうが、私は十分な評判を持っていません。 haha

これは、excelの1つの列にデータからdxfファイルを書き込むときです。あなたは範囲を反復処理し、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 
関連する問題