[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
(DTPtechNote:385) MS WordのVBA(適用されたスタイル付きでテキスト書き出し)
スタイル名+タブ+段落テキストというテキストをはき出させるだけなんだけど、
クロスプラットフォームの実現のため
どうしてもVBAでというご要望があったので、しぶしぶ(笑)書きました。
ほんとうにこれでいいのか、ぜんぜん分からないんだけど<VBAに詳しい方、添削してください。
とりあえず動いてます。
#VBAのsaveダイアログってアプリ依存なのねん。ちとびっくり。
Sub style_and_text()
'スタイル名+タブ+段落テキストというテキストをはき出します。
'(c)2003.02.17 www.seuzo.jp
'最後にはき出すテキスト65535byteまで
Dim tmp_str As String
'すべての段落数
cunt_para = ActiveDocument.Paragraphs.Count
'1行づつまわして
For i = 1 To cunt_para
Set rngPara = ActiveDocument.Paragraphs(i).Range
With rngPara
tmp_str = tmp_str & .ParagraphFormat.Style & Chr(9) & .Text
End With
Next
'ファイルを書き出し、保存
With Dialogs(wdDialogFileSaveAs)
f = .Display
If f = -1 Then
my_path = .Name
End If
End With
Open my_path For Output As #1
Print #1, tmp_str
Close #1
MsgBox "書き出しが終了しました。"
End Sub