
1. りんご
(本文)
2. みかん
(本文)
3. バナナ
(本文)
このような構成の文書があります。
それぞれの章タイトル(果物の名前)は、現在段落番号で自動で振られているのですが、これを手打ちでテキスト入力した状態にしたいです。
ひとつひとつ目で見ていくのが確実なのでしょうが、他人が作ったファイルでしかもページ数がとても多いので、見落としが怖く、できれば機械的に行いたいのです。
コピーして「テキストでペースト」する方法は存じております。
ただこちらの方法にしても、見落としがあると数字が変わってしまいますので、最上の策とは言えないと思います。
せめて「自動で段落番号を振った行を検索」する方法があればいいのですが。
ご回答、お待ちしております。
No.2ベストアンサー
- 回答日時:
自動記録の手も借りて修正作成しましたので、不要な行が入っていると思いますが.....。
見出しレベルが二段階までという前提です。
前回同様、最後にブックマーク E を作成して実行してください。
Sub ChgStyle()
Dim LstPR1, LstPR2, ListST, STT
If ActiveDocument.ListParagraphs.Count = 0 Then Exit Sub
With ActiveDocument.Bookmarks
If Not .Exists("E") Then Exit Sub
End With
Selection.HomeKey Unit:=wdStory
Do While Selection.Range.ListFormat.ListValue = 0
Selection.MoveDown Unit:=wdLine, Count:=1
Selection.HomeKey Unit:=wdLine
Loop
STT = ActiveDocument.Range(0, Selection.Start).ComputeStatistics(wdStatisticLines)
LstPR1 = 0
Do Until Selection.Range.Bookmarks.Exists("E")
Selection.MoveRight Unit:=wdCharacter, Count:=1
LstPR2 = ActiveDocument.Range(0, Selection.Start).ListParagraphs.Count
ListST = Selection.Range.ListFormat.ListString
Selection.HomeKey Unit:=wdLine
If LstPR2 <> LstPR1 Then
Selection.TypeText Text:=ListST
Selection.HomeKey Unit:=wdLine
End If
LstPR1 = LstPR2
Selection.MoveDown Unit:=wdLine, Count:=1
Loop
'
Selection.GoTo What:=wdGoToLine, Count:=4
ActiveDocument.Range(Start:=Selection.End, End:=ActiveDocument.Bookmarks("E").End).Select
With ListGalleries(wdOutlineNumberGallery).ListTemplates(7).ListLevels(1)
.NumberFormat = "%1"
.TrailingCharacter = wdTrailingNone
.NumberStyle = wdListNumberStyleNone
.NumberPosition = MillimetersToPoints(0)
.TextPosition = MillimetersToPoints(7.5)
.TabPosition = wdUndefined
End With
With ListGalleries(wdOutlineNumberGallery).ListTemplates(7).ListLevels(2)
.NumberFormat = "%2"
.TrailingCharacter = wdTrailingNone
.NumberStyle = wdListNumberStyleNone
.NumberPosition = MillimetersToPoints(7.5)
.TextPosition = MillimetersToPoints(15)
.TabPosition = wdUndefined
End With
ListGalleries(wdOutlineNumberGallery).ListTemplates(7).Name = ""
Selection.Range.ListFormat.ApplyListTemplate ListTemplate:=ListGalleries( _
wdOutlineNumberGallery).ListTemplates(7), ContinuePreviousList:=True, _
ApplyTo:=wdListApplyToWholeList, DefaultListBehavior:=wdWord9ListBehavior
End Sub
No.4
- 回答日時:
私の環境も 2000 です。
前回言い訳させていただいたように、真ん中ほどの Loop 以下は自動記録の手を借りた
部分なのですが、そちらでなぜ止まるのかわかりません。
ご質問内に書かれていた例文からは、[書式]-[箇条書きと段落番号] のアウトラインを
設定されているはずなのですし....... ?
とりあえず、
.NumberFormat = "%1"
の行を削除してみてください。(8行下にもありますので、これも削除)
私のテスト実行では、削除しても同じように動きました。
また、
.TabPosition = wdUndefined
も2つとも削除。
ついでに、一番下の方にある
ListGalleries(wdOutlineNumberGallery).ListTemplates(7).Name = ""
も削除してください。
自動記録で付けられた不要行のようです。
これでも止まってしまう場合は、真ん中の Loop より下を Exit Sub の前まで削除して
実行し、その後アウトラインスタイルの変更を手作業で行なってください
No.3
- 回答日時:
#2の修正です。
プログラムの中央ほどにある(Loop のすぐ下)
Selection.GoTo What:=wdGoToLine, Count:=4
を
Selection.GoTo What:=wdGoToLine, Count:=STT
に変更してください。
テスト時の状態のまま載せてしまいました。 /(-_-;
すみません、再びこんなに長いVBA書いていただきまして…
テストしてみましたところ、「実行時エラー5974 箇条書きの書式のプレースホルダとして、番号を指定することはできません」と出ます。
デバッグは、Loopの数行下の
.NumberFormat = "%1"
の位置で止まっております。ハテ?
エクセルのバージョンの違いか何かでしょうか?(当方2000です)
No.1
- 回答日時:
自信はないのですが、とりあえず、文章のレイアウトを勝手に仮定して、マクロを作って
みました。
1.項目1
(Tab)本文1行目
(Tab)本文2行目
2.項目2
(Tab)本文1行目
のようになります。
[Alt]+[F11] で開く画面の左側のツリーにある Project(開いている文書名) を選択して
[挿入]-[標準モジュール] で更に開く画面に下記をコピーし、通常画面に戻ってください。
Sub Test()
Dim PG, LV, LVSeq, NumberSize
If ActiveDocument.ListParagraphs.Count = 0 Then Exit Sub
With ActiveDocument.Bookmarks
If Not .Exists("E") Then Exit Sub
End With
PG = ActiveDocument.ComputeStatistics(Statistic:=wdStatisticLines)
Selection.HomeKey Unit:=wdStory
LVSeq = 0
Do While Selection.Range.ListFormat.ListValue = 0
Selection.MoveDown Unit:=wdLine, Count:=1
Selection.HomeKey Unit:=wdLine
Loop
Do Until Selection.Range.Bookmarks.Exists("E")
Selection.HomeKey Unit:=wdLine
LV = Selection.Range.ListFormat.ListValue
If LV = 1 Then
LVSeq = LVSeq + 1
If LVSeq > 9 Then NumberSize = LVSeq Else NumberSize = StrConv(LVSeq, vbWide)
Selection.TypeText Text:=NumberSize & "."
Selection.Range.ListFormat.RemoveNumbers NumberType:=wdNumberParagraph
Else
Selection.TypeText Text:=vbTab
End If
Selection.MoveDown Unit:=wdLine, Count:=1
Loop
Selection.HomeKey Unit:=wdStory
End Sub
文章の最後の段落番号項目の「本文」の最後の行の次行先頭に E という名前のブックマークを
挿入してから、[ツール]-[マクロ]-[マクロ] の Test を選択して実行してみてください。
文書ファイルのコピーで行なってくださいね。
結果が求められているものと異なっていたら、無視してください。 ^_^;
どうもありがとうございます!
これなら確かに置き換わります。
ただ非常に恐縮なのですが、
・本文先頭のタブを抜く
・違った形式の段落番号があっても、最初のスタイルが適応されてしまう。単純に、コピペで置き換えたい
以上の処理は可能でしょうか?
※現在このような文書だった場合、
1.見出し1(段落番号)
本文
2.見出し2(段落番号)
本文
A.小見出しA(段落番号)
本文
B.小見出しB(段落番号)
本文
3.見出し3(段落番号)
↓このように置き換えられてしまいます。
1.見出し1
(Tab)本文
2.見出し2
(Tab)本文
3.小見出しA
(Tab)本文
4.小見出しB
(Tab)本文
5.見出し3
↓単純にこのようにするのは、難しいでしょうか。
1.見出し1
本文
2.見出し2
本文
A.小見出しA
本文
B.小見出しB
本文
3.見出し3
もし難しい場合は、どうかスルーして下さい。
ここまでやって頂いて、本当に感謝しております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- バイク免許・教習所 小型自動2輪、1本橋で行き詰まり状態 4 2022/10/29 18:19
- Word(ワード) 連番機能 3 2023/06/25 10:48
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- その他(Microsoft Office) エクセルで1行の長いデータを指定の桁数で分割する方法が知りたいです。 4 2022/05/20 21:55
- カードローン・キャッシング 信用情報機関CICについて。 独身時代に恥ずかしながら、ショッピング代金の引き落とし延滞が2-3ヶ月 1 2023/07/06 21:44
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Visual Basic(VBA) tatsumaru77様 昨日回答して頂いたものです。 すみませんが、昨日の質問で1つ補足があります 1 2022/05/15 15:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テプラ(SR510)で一行の文字サ...
-
第一章→第一節・・・その次は?
-
表内、縦位置の中央揃えがど~...
-
ギリシャ数字(ローマ数字?)...
-
WORDで段落番号の振りなおしが...
-
Word 改ページをすると、テキス...
-
テプラプロで。
-
ワードの段落番号のうち、任意...
-
ワードで2万字って何枚くらい...
-
WORD2013の縦書き2段組みで段...
-
Word2007 で透かしを挿入したら...
-
ある行にカーソルを置くと表示...
-
今年の東大入試の国語の第四問...
-
wordで変なスペースがあいてし...
-
貼り付けをすると消える
-
wordの段落に対する繰り返し処...
-
<P>タグは必要?
-
Word2003で,自動連番に四角の...
-
今年の流行語大賞は「ひと段落...
-
Word [レイアウトの詳細設定]...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
表内、縦位置の中央揃えがど~...
-
テプラ(SR510)で一行の文字サ...
-
第一章→第一節・・・その次は?
-
ギリシャ数字(ローマ数字?)...
-
WORDで段落番号の振りなおしが...
-
ワードで2万字って何枚くらい...
-
wordで変なスペースがあいてし...
-
テプラプロで。
-
「」(かぎかっこ)は、段落と...
-
Word 改ページをすると、テキス...
-
wordのテキストボックスが変!
-
Wordの禁則処理について(適用...
-
ワードで段落番号の下にも下線...
-
ワードの文字サイズが勝手に変わる
-
ワードの段落番号のうち、任意...
-
今年の流行語大賞は「ひと段落...
-
ある行にカーソルを置くと表示...
-
wordの段落番号の色が勝手に変...
-
閑居友の現代語訳を教えてくだ...
-
【Word2013】段落番号込みで下...
おすすめ情報