- ベストアンサー
Excel のデータをテキストファイルに
Excel97を使っています。 あるシートのセルにハイパーリンクが設定されていて、その内容をテキストファイルに書き出したいのですが、方法がわかりません。 いちいち、右クリック/ハイパーリンク/編集/文字列コピー->閉じて->エディタに貼りつけで、やっていましたが、数が多いので大変です。また、該当セルが散在しているために、マクロ化も「チョットなぁ」と言う感じで、困っています。 ヘルプやWebで検索したのですが、答えを見つけることができませんでした。 このへんについて、詳しい方、やったことある方、教えて下さい。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
何を編集されているかわからないので、 ハイパーリンクのあるシート名 セル座標 リンク先 をテキストファイルに書き出してみました。質問はこういうこと?でしょうか。 リンク先を出力しましたが、リンク先の内容でしょうか。ハイパーリンクは余り使わないので・・・ ご参考に。よろしければ、アレンジしてみてください。 蛇足ですが >該当セルが散在しているために、マクロ化も「チョットなぁ」と・・・ とありますが、個人的には『散在しているから、マクロを作る』と考えています。この場合は、マクロ化すれば散在していることを意識しなくてすむようになるでしょう。 標準モジュールに貼り付けます。 出力ファイル名『outFilename』はご自分で設定(決めて)下さい。 ここから ↓ Public Sub HyperTextView() Dim outFilename As String '出力用ファイル名 Dim ws As Worksheet '内容を調べるシート Dim HL As Hyperlink 'ハイパーリンク outFilename = "A:\" & "myHyperLink.txt" '自分で設定してください Open outFilename For Output As #1 For Each ws In ThisWorkbook.Worksheets For Each HL In ws.Hyperlinks Write #1, ws.Name, HL.Range.Address(0, 0), HL.Name Next Next Close End Sub
お礼
ご回答ありがございます 教えていただいたマクロ+エディタで、スパッとうまく行きました。 「マクロの記録」と「実行」しかやったことがなくて、VBAの「標準モジュール」の実行方法も分かってませんでした。 さらに、「For Each xx In xx」なんて初めて見ました。excelオブジェクトをざっと見てみようと思います。 >『散在しているから、マクロを作る』 確かにそうですね、実感しました 助かりました。ありがとうございました。