ありんこ さんによる書き込み:
ウィンドウズ用Office2010では使えるものなのでしょうか?
Excel2000の参考書を見ながらつくったので、おそらく動くと思われます。ただ、ファイルパスというのがWindowsとMacでは違いますのでその部分は書き換える必要があります。それと私がWindowsに詳しくないので、Windows版Excelでの使い方が説明できるかはグレーゾーンです。Excel2008(Mac版)では動かないとのことです。(VBAが未搭載とのこと。)
それで、肝心の使い方ですが、Excel2004では下記の方法で使います。(正しい使い方かどうかはわかりません。)
1.Excelを起動。ツールメニュー「マクロ」「新しいマクロの記録...」を実行。(何か適当にExcelを操作してマクロを記録してください。アクティブセルを移動や、文字の入力とか。)マクロの記録を終了。
2.ツールメニュー「マクロ」「Visual Basic Editor」を起動。「1.」で作成したマクロを表示。(Macro1とかいう名前のはずです。Module1に記録されているはずです。)そこに、私が提示したVBAのコードをコピー。最初の行のSubからEnd Subまで、記録されていたヤツを上書きしてしまってください。
3.コード内の"Users:niki:Desktop:houbun.doc"を自分の環境に合わせて変更。最後のhoubun.docもご自分の法令集のファイル名に合わせる必要があります。あらかじめWordで適当な名前に変えておくのも手です。なお、おそらくWordで開くなら.txtで構いません。Users:niki:Desktop:houbun.dochは
ファイルへのフルパスといわれるものです。パスってなに。(超初心者向け)を参考にしてください。通常OS Xでは「/」が区切りに使用されますが、Mac版Excelでは「:」が使用されます。それと、フルパスなら:Users:niki:Desktop:houbun.doc
となるはずなのですが、Excelでは先頭の「:」は不要なようです。Users:niki:Desktop:houbun.doctとなります。Windowsでは区切りに「\」(バックスラッシュ。割り算の向きが反対のヤツです。)
作り方が不明の場合はネットでwdObj.Documents.Openで検索すると、たくさんヒットします。
4.For i = 1 To 5の部分の「5」は第一条から第一千条まで処理するなら「5」を「1000」に変えてください。ただ、いきなり1000にして動かないと、困るので最初は5とかでテストしてみてください。
5.Wordの文章は検索さえできれば、縦書きでも横書きでもよいはずです。Excelのリストは1000行2列で作成されている前提でマクロをつくりました。
第一条 第1条
第二条 第2条
と並んでいる必要があります。漢数字が1列目でアラビア数字が二列目です。もし数字だけの対照表の場合は、="第"&[セルの相対参照]&"上"として第x条という方に変換すれば、良いかと思います。ただし、法令集の方が「第 一 条」とかだと検索で引っかからなくなります。
6.ツールメニュー「マクロ」「マクロ...」で実行してください。
重要な注意事項としては、対照表や法令集のオリジナルに対して、このマクロを実行してはいけません。必ずオリジナルを保管しておいてください。予期せぬ誤動作で、データを壊す可能性がないとは言えないので。