• 締切済み

エクセルのリンクやマクロの有無をチェックしたい

OS:Windows7 Office:2010 ハイパーリンクやマクロが埋め込まれたエクセルが多数あるとして、 そのハイパーリンクやマクロ内のパス情報を取得できるような ツールはあるのでしょうか? なぜ必要かといいますと、 先日、管理部署から、フォルダ構成を変更するとの通知を受けました。 私が部の担当に任命されたのですが、 同僚から、フォルダパスが変更されると動かなくなることがあるので、 調査が必要とのアドバイスをもらいました。 先輩方に聞いてみたのですが、前任や退職した方が作成したものを 使い続けているので、仕組みは分からないとの回答でした。 フォルダの階層が深く、ファイル量も大量(数千ファイルです)ですので、 一度、どのファイルにハイパーリンクやマクロが埋め込まれているのか、 知りたいと考えています。 ※ここで知りたいのは、ファイルパスが埋め込まれているかになります。  シート内や相対パスでのリンクであれば、フォルダ構成が変わっても  大丈夫だと考えておりますが、フルパスで記述されていた場合、  フォルダ構成を変更すると、動かなくなるので該当のファイルがどれだけあるのかを  調べたいと考えてます。

みんなの回答

回答No.1

類似の質問がありましたのでこちらを参照ください。 http://okwave.jp/qa/q5167092.html

関連するQ&A

  • エクセルのマクロでフォルダ数を取得したい

    ご存知の方教えてください。 以下ようなフォルダ階層があります。 ----------------------- rootフォルダ │ ----------------- 第一階層フォルダ │ │ │ --------------- 第二階層フォルダ │ │ │ --------------- 第二階層フォルダ │ │ │ --------------- 第二階層フォルダ │ ----------------- 第一階層フォルダ │ │ │ --------------- 第二階層フォルダ │ │ │ --------------- 第二階層フォルダ │ │ │ --------------- 第二階層フォルダ │ │ │ --------------- 第二階層フォルダ │ │ やりたい事ですが、エクセルのマクロで 第一階層と第二階層のフォルダ数を取得する。 (階層のフォルダ数は取得する毎変わり、固定されていません。) 第一階層のフォルダにはファイルはないです。 第二階層のフォルダにはファイルが存在します。 rootフォルダにダミーファイルを設置しそこから FileSystemObjectでフォルダパスを取得する事はできたました。 パスが分かればフォルダ数が分かるかと思い色々と調べていましたが フォルダ数を取得する事ができませんでした。 初心者なりに書籍、ネットで調べてみたのですがどうしても 分かりませんでした。 どのようにしたらいいか教えていただけないでしょうか。 よろしくお願いします。 OS : XP EXCEL : 2003

  • EVAでマクロ有無チェックについて

    Excel VBAで指定したフォルダ配下のExcelファイルのマクロ有無チェックをしたいと思っています。 マクロ有無チェックまではできたのですが、パスワードを設定しているExcelファイルがあると、 そこでエラーとなってしまいます。 パスワードが設定されているExcelファイル(パスワード不明)は、フォルダパスとファイル名をSheet2に書き出し、次のファイルチェックに行くようにしたいのですが、よくわかりません。 どなたかご教授下さい。 Excel2003です。 以下まではできています。 filelist = Dir(FoldPath & "\" & "*.xls") Do While filelist <> "" Application.EnableEvents = False Set Target = Workbooks.Open(FoldPath & "\" & filelist) マクロ有無チェック    Sheet1にフォルダパス、ファイル名、マクロ有無を書き出す    Target.Close Application.EnableEvents = True filelist = Dir() Loop

  • エクセルのハイパーリンクについてです。

    エクセルのハイパーリンクについてです。 ハイパーリンクをセルに指定すると、指定した先のファイル名やパスがセル内に記載されてしまいますが、 この記載をなくしたい場合、どうしたらよいでしょう? ちなみに現状は絶対参照がいやで相対参照としたいので、 セル内に直接 =HYPERLINK("..\上位階層\ファイルがある階層\各リンク付けしたフォルダ\・・・") としています。 上記のようにすると、「上位階層\ファイルがある階層\各リンク付けしたフォルダ\・・・」のリンク先が全てセル内に記載されてしまいます。 この記載をなくしたいです。

  • Excelマクロ

    Excelマクロを使用して、ハイパーリンクのリンク先パスを変更しようとしております。 一旦、クライアントPCで変更しその後、ネットワークの別のPCでsaveし再度、起動させると相対パスに変更されてしまいます。 絶対パスで保持する方法はないでしょうか。 ご参考までに記述したマクロの一部です。 ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:=パス & Cells(行, 2), TextToDisplay:=CStr(Cells(行, 2)) 何か良い方法があれば、ご教示をお願いします。

  • エクセルマクロで(セルの削除、相対パス、ボタンで実行)

    エクセルのマクロ(VBでしょうか?初心者で分かりません)でセルの削除、相対パス表記、ボタンでマクロを実行、と3つをやりたいと思っています。聞ける人や本もなく困っていました。 デスクトップにフォルダを置いて、その中にマクロを実行するエクセルファイル、データが入ったエクセルファイルを入れています。マクロを実行すると、新しいエクセルファイルに必要なデータが入ってくるという事をやっています。 あるシートのあるセルの中身とその周りの罫線を削除する。 どのPCでも動くように相対パス表記にする。 コントロールツールボックスからボタンをつけたのですが、これを押すことでマクロを実行させる。 以上のような3つをやりたいと思っています。初心者で上手く説明ができていない、変なマクロかも知れませんが、是非教えて下さい。よろしくお願い致します。

  • エクセルマクロについて

    エクセルマクロについて マクロ処理において、毎回読み込むファイルが違うので、 マクロ利用時にはマクロ内の絶対パスを手動にて変更しています。 しかし、これはなにげに大変な作業です。 そこで、別のなんらかの手法を取りたいと考えています。 たとえば、"開く"ボタンにて対象ファイルをマウスにて選択することによって、 絶対パスが変更する。等 どのような手法でもかまいません。 ご教授のほどよろしくお願いします。

  • EXCEL2007での相対参照ハイパーリンク

    ハイパーリンク未経験、先ほどトライすると絶対参照のパスが入るようで困っています。同階層にあるテキストファイルを開くようにしたいので、パスは相対形式「./~~.txt」としたいのですが、できませんか?

  • VBSでEXCELのXLSTARTにあるマクロを実行するには

    VBSを実行したときに既にEXCELを開いている場合にはFor Each wb In Workbooksを使ってXLSTARTフォルダにあるファイルのVBAマクロを実行できます。しかし、EXCELを開いていない場合にはCreateObject("Excel.Application")でEXCELを開いてもXLSTARTフォルダにあるファイルそのものが見つかりません。VBSを使わず、プログラムファイルからEXCELを開く場合にはXLSTARTフォルダにあるファイルも問題もなく開きます。どうすればEXCELを開いていない場合でもVBSでEXCELのXLSTARTにあるマクロを実行できるでしょうか? 因みにXLSTARTのフォルダパスは不特定多数の環境(OSはWindows95-XP、EXCELは97-2007の組合せ)で特定されていないものとします。さらにツール、オプションの全般タブの「起動時に全てのファイルを開くフォルダ」にはXLSTARTが指定されているものとします。

  • Excelのハイパーリンクで絶対パスが動作しない

    こちらで同類の質問を見つけましたが解決に至っていなかったので質問させていただきます。 当方、Excel2000を使用しています。 サーバー上にある共有フォルダ(Jドライブ)の同じフォルダの中に「A.xls」とリンク参照先のファイル「B.xls」があります。 「A.xls」のセルに、「B.xls」を開くためのハイパーリンクを、絶対パス(J:\フォルダ名\B.xls)で指定しました。 しかし、「A.xls」を例えばローカルドライブ(Cドライブ)のデスクトップにコピーし、そちらを開いてハイパーリンクをクリックすると、Jドライブにある「B.xls」を開きたいのに、ハイパーリンクが相対パスに変わってしまって、デスクトップ上のB.xlsを探してしまうため「ファイルが見つかりません」と表示されてしまいます。 [ハイパーリンクの編集]で確認したところ、「ファイル名またはWebページ名」欄には絶対パス「J:\フォルダ名\B.xls」を指定したはずなのに「J:\フォルダ名\」の部分が消えてしまい、「B.xls」というファイル名しか残っていませんでした。 Microsoftサポート情報『JP418119:以前のバージョンでハイパーリンクが開けない』の原因欄に『参照元と参照先が同じドライブの場合、ファイルを保存した時点で相対パスに変更されます。』とあったので、システムの仕様なのかもしれませんが、同一フォルダ内にあるファイルでも絶対パスの情報を保持する方法はないでしょうか。 デスクトップにある「A.xls」でハイパーリンクを設定すれば、「B.xls」と別フォルダのためか絶対パスが保持されるのですが、「A.xls」は最終的には「B.xls」と同じフォルダ内に保存しておきたいので、いちいちコピーするのはなるべく避けたいため、同一フォルダ内でも絶対パスの指定を保持する方法を教えてください。

  • エクセルVBAで一つ上の階層を指定して保存したい

    お世話になります。 VBA初心者なりにマクロの自動記録などで作業しておりますが、自動記録でできない作業を一つ教えてください。 現在作業しているフォルダは、Activeworkbook.Pathなどで指定できますが、その一つ上の階層に保存したいという場合、どう指定すればよいのでしょうか? 自動保存だと"Documentos and Settinng~"などから始まるファイルパスになりますが、ファイルを保存するフォルダは各人によってまちまちですので、自分が保存したフォルダの一つ上という指定をしたいのです。そのような方法があれば教えてください。 よろしくお願いいたします。

専門家に質問してみよう