親子におすすめの新型プラネタリウムとは?

エクセルのハイパーリンクの相対パスを、絶対パスに一括で変換したいです。

もしくは、セル指定の絶対パスの取得でも構いません。

どのようにすればよろしいでしょうか?
ご教示いただければ幸いです。
宜しくお願い致します。

質問者からの補足コメント

  • すいません。今後絶対パスに設定させるのではなく、すでに相対パスが設定されているものを、絶対パスに入れ替えるということがしたいです。

    No.2の回答に寄せられた補足コメントです。 補足日時:2016/11/17 22:58

このQ&Aに関連する最新のQ&A

A 回答 (3件)

絶対パスに変換したいブックですが、すでに違うフォルダにコピーしてしまって、ハイパーリンクが開けない状態なのでしょうか?もし開けないようであれば、元のフォルダにコピーし直して、開ける状態に戻してください。


開けるようになったら、下記のマクロを実行して、さらにNo2さんの回答の対応を行った後に保存すれば、絶対パスのブックが出来上がります。

Sub sample()
Dim h As Hyperlink
For Each h In ActiveSheet.Hyperlinks
h.Address = ThisWorkbook.Path & "\" & h.Address
Next
End Sub
    • good
    • 5

これらの事ですか?(未実証)


2003、2007,2010
https://kokodane.com/tec3_8b.htm
2013
https://kokodane.com/2013_waza_083.htm
違っていたら すみません。
この回答への補足あり
    • good
    • 1
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcel 相対パス

Excelでvlookup関数を使っていますが
参照範囲が別ファイルです。

参照先が絶対パスになってしまいますが
これでは他人にこのファイルを提供した場合つかえません。

そこで相対パスにしたいのですができません。

どうしたら良いのでしょうか?

=VLOOKUP(C2,'C:\Documents and Settings\user1\管理\[20130000.xls]Sheet1'!$D$6:$E$634,2,FALSE)
これを
=VLOOKUP(C2,'./[20130000.xls]Sheet1'!$D$6:$E$634,2,FALSE)
にしたい。

Aベストアンサー

>相対パスで入力しても絶対パスになってしまいます。
ソフトの設計思想でそうなっていると思います。
参照対象のファイルを開いているときに直接指定した時は[ファイル名]で良いのですが、参照対象のファイルを閉じると自動的に絶対パスが自動的に付加されますので、閉じたファイルを指定するときは絶対パスが必須という仕様になっているようです。

QExcelのハイパーリンクのアドレスが勝手に変わる

Excel2000での出来事です。

自身のPCフォルダを素早く開くショートカット目的として
C:\Program Files\ などをハイパーリンクで設定しています。

設定してその日は問題なくクリックすることで目的のフォルダが開くのですが、
別の日に改めてクリックすると「このサイトのアドレスは正しくありません」
とメッセージが出てしまいます。

ハイパーリンクの編集を見てみると
C:\Program Files\ と設定していたにもかかわらず
..\..\..\Program Files\ となっているのです。

これはどうしてでしょうか?
なお、いろいろ試しましたがこの現象は、自分自身のPCフォルダを開くときだけで
サーバのフォルダを開く目的でのリンクを張ったりした場合は問題ありません。

たとえば
http://www.yahoo.co.jp/ ←yahooのページ
Z:\server\ ←サーバにあるserverフォルダを開くリンク
C:\server\ ←自分自身のPCのCドライブにあるserverファイルを開くリンク
こんなのを作るとします。

これが気がつくと
http://www.yahoo.co.jp/ ←問題なし
Z:\server\ ←問題なし
..\..\..\server\ ←変化!
必ずこう変化してしまうんです。

変化してしまうタイミングは不明なのですが
その日のうちにExcelを閉じて、開きなおす、PC再起動する、程度では変化しません。
違う日にアクセスしようとすると勝手に変わってるのです。
なお、このファイルは私しか使用していないので
他の人が勝手にいじるということはありません。

また、リンクをfile///のやり方でも同様の現象が起きています。
使用OSはWindowsXPプロフェッショナルです。

どなたか解決方法がわかる方
是非お願いします。
よろしくお願いします。

Excel2000での出来事です。

自身のPCフォルダを素早く開くショートカット目的として
C:\Program Files\ などをハイパーリンクで設定しています。

設定してその日は問題なくクリックすることで目的のフォルダが開くのですが、
別の日に改めてクリックすると「このサイトのアドレスは正しくありません」
とメッセージが出てしまいます。

ハイパーリンクの編集を見てみると
C:\Program Files\ と設定していたにもかかわらず
..\..\..\Program Files\ となっているのです。

これはどうしてでしょう...続きを読む

Aベストアンサー

Excel2000でメニュがーどうなっているか分かりませんが、
絶対パスに指定してある状態で(相対パスになっていたら絶対パスにしてから)

ツール→オプション→全般(タブ)→Webオプション→ファイル(タブ)の中の保存時のリンク更新のチェックを外す…でいかがでしょうか?

QEXCEL2010のハイパーリンク先の一括変更

EXCEL2010のハイパーリンク先の一括変更をしたいのですが、
\\TS-XHL6E6\ だけを削除して、このお尻の部分のリンクを生かしたいのですが、エクセル上で検索して、一括変更するには、どうすればよいのでしょうか?

Aベストアンサー

リンク先を別のブックに変更したいなら、リンクの編集から操作するのが簡単で確実です。

データタブの「リンクの編集」をクリックし、「リンク元の変更」で新しくリンクさせたいブックを指定してください。

Q相対パスから絶対パスの取得

相対パスを指定することにより、絶対パスを取得したいのですが・・・。
どうすればいいでしょうか?

■状況■
VB6.0
Windows2000
ひとつ上の階層に行きそこのTableフォルダ内のsample.htmlのパスを取得したい。

Dir$("..\Table\sample.html")としてみたのですができませんでした。

Aベストアンサー

'FileSystemObjectを使うのが簡単かも
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
MsgBox fso.GetAbsolutePathName("..\Table\sample.html")

Qエクセルファイルのフォルダー移動でのリンク切れについて

エクセルで作ったファイルを、別のドライブにコピーしたらリンクが切れて終いました。
(例)ファイル1のシート1のA1セルとファイル2のシート1のセル3をリンクさせていましたが Cドライブから Fドライブにコピーしたら リンクしなくなりました。リンクさせていたのは、入力内容が同じのなるようにしてました。

ファイルが 膨大なので楽にリンク切れが無くなるような方法はないですか? 

Aベストアンサー

早い話、ファイル内のリンク先パスを、移動した先のファイルパスへ修正したい ということですよね?

Excelの編集→リンクの設定で、ブックに指定されているリンク先
ファイルパスの一覧が確認できます。
そこでファイル単位でパスの修正が可能です。

これで恐らく一括変換可能と思います。お試し下さい。

Qハイパーリンクの張りなおし:excel 表のHLInk アドレス

Excelの表のB列の B2からB101セルまで文書名がハイパーリンクされ、その名前クリックでファイルサーバーの文書が表示されるようになっています。
最近、ファイルサーバーの頭のフォルダ名称が変わってしまったためリンクを張りなおしが必要。
100個分手でやる必要ありますか。
簡単な方法あれば教えてください。
 新アドレス(ハイパーリンクの編集のアドレス)   旧アドレス
B2  \\abc\xxx\xxxxx\xx--\xx.doc  →\\def\xxx\xxxxx\xx--\xx.doc 
B3  \\abc\xxx\xxxxx\xx--\xx.xls  →\\def\xxx\xxxxx\xx--\xx.xls 
――
B101  省略

Aベストアンサー

マクロで一気にやる方法です。
Alt+F11でVBAの画面を起動し、「挿入」>「標準モジュール」を選択して、右側の画面に以下のマクロをコピーして貼り付けます。
(このマクロでは\\abcを\\defに置きかえています。実際のアドレスに置きかえてください)

Sub ハイパーリンクの置きかえ()
 Dim H As Hyperlink
 For Each H In Range("B2:B101").Hyperlinks
  H.Address = Replace(H.Address, "\\abc", "\\def")
 Next
End Sub

Alt+F11でExcelの画面に戻り、Alt+F8から上記マクロを実行すると、ハイパーリンクが置き換わります。

Q複数のエクセル相対参照を絶対参照に一発変換したい。

一つの相対参照を例えば横方向にいくつか複写して、
複写された各セルの相対参照を、絶対参照化する時
各セルにポイントをおいて「F4」プッシュで処理
しています。これを範囲指定して一度に変換する方法があれば大変助かるのですが。
良い方法があったら教えて下さい。

Aベストアンサー

下記参考URLに相対参照を絶対参照にするマクロが書いてあります。
http://www2.odn.ne.jp/excel/waza/macro.html#SEC22

でもひょっとしたらこれだけでは使い方がわからないかもしれないので,
使い方例を1つだけ紹介しておきます。
わかっていたら以下は無視してください。


「ツール」→「マクロ」→「マクロ」から
マクロダイアログボックスを出し,
「マクロ名」の欄に「test」と記入→「作成」をクリック。
するとVisual Basicエディタが開き,すでにModule1に
------------------
Sub test()

End Sub
------------------

というものができていると思うので,そこを

-----------------
Sub test()
Dim c As Range

For Each c In Selection
If c.HasFormula Then
c.Formula = Application.ConvertFormula(Formula:=c.Formula, _
FromReferenceStyle:=xlA1, ToAbsolute:=xlAbsolute)
End If
Next

End Sub
-----------------

にかきかえ,Visual Basicエディタえを閉じます。
再び「ツール」→「マクロ」→「マクロ」から
マクロダイアログボックスを出し,
「オプション」から,マクロオプションでショートカットキーを割り当てれば,
Ctrtキー+割り当てたキーでそのマクロが実行されます。

使い方は,
For Each c In Selectionですから,
取りあえず変換したいセルを全て選び,
Ctrtキー+割り当てたキーを押すというものです。

参考URL:http://www2.odn.ne.jp/excel/waza/macro.html#SEC22

下記参考URLに相対参照を絶対参照にするマクロが書いてあります。
http://www2.odn.ne.jp/excel/waza/macro.html#SEC22

でもひょっとしたらこれだけでは使い方がわからないかもしれないので,
使い方例を1つだけ紹介しておきます。
わかっていたら以下は無視してください。


「ツール」→「マクロ」→「マクロ」から
マクロダイアログボックスを出し,
「マクロ名」の欄に「test」と記入→「作成」をクリック。
するとVisual Basicエディタが開き,すでにModule1に
------------------
Sub test()...続きを読む

QEXCELファイルのカレントフォルダを取得するには?

EXCELファイルのカレントフォルダを取得するには?

C:\経理\予算.xls

D:\2005年度\予算.xls

EXCEL97ファイルがあります。

VBAで
  カレントフォルダ名
(C:\経理\,D:\2005年度\)
を取得する事は可能でしょうか?

CURDIRでは上手い方法が見つかりませんでした。

Aベストアンサー

こんばんは。
Excel97 でも、同じですね。以下で試してみてください。

Sub test()
'このブックのパス
a = ThisWorkbook.Path
'アクティブブックのパス
b = ActiveWorkbook.Path
'Excelで設定されたデフォルトパス
c = Application.DefaultFilePath
'カレントディレクトリ
d = CurDir
MsgBox "このブックのパス   : " & a & Chr(13) & _
   "アクティブブックのパス: " & b & Chr(13) & _
   "デフォルトパス    : " & c & Chr(13) & _
   "カレントディレクトリ : " & d & Chr(13)
End Sub

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

こちらで同類の質問を見つけましたが解決に至っていなかったので質問させていただきます。
当方、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」と同じフォルダ内に保存しておきたいので、いちいちコピーするのはなるべく避けたいため、同一フォルダ内でも絶対パスの指定を保持する方法を教えてください。

こちらで同類の質問を見つけましたが解決に至っていなかったので質問させていただきます。
当方、Excel2000を使用しています。
サーバー上にある共有フォルダ(Jドライブ)の同じフォルダの中に「A.xls」とリンク参照先のファイル「B.xls」があります。
「A.xls」のセルに、「B.xls」を開くためのハイパーリンクを、絶対パス(J:\フォルダ名\B.xls)で指定しました。
しかし、「A.xls」を例えばローカルドライブ(Cドライブ)のデスクトップにコピーし、そちらを開いてハイパーリンクをクリックすると、Jドラ...続きを読む

Aベストアンサー

起動する場所が固定なら
「ファイル」「プロパティ」「ファイルの概要」タブの「ハイパーリンクの起点」に
「J:\フォルダ名\」としては如何ですか?

QExcelファイルなどのハイパーリンク

こんばんは。

Vista 32bitです。
まだ何とか動いているので先になるかもしれませんが、パソコンを買い替えた時に心配があります。
現在、Word文書やExcelファイルをドキュメントに保存しています(USBメモリなどにもコピーをとっています)。ドキュメントはDドライブに任意の名前を付けたフォルダに移動しております。

それらのファイルの中で、いくつか他ファイル(ドキュメント内の別ファイル)へのハイパーリンクを設定しているものがあります。
たとえば、「A」という名前で保存したExcelファイルには問題文を入力してあり、任意のセルに「解答」と入力し、そこをクリックすると答えや手順を入力してあるファイル「B」が開くみたいな感じです。

新しいパソコンで、コンピューター名やユーザー名を今使っているパソコンとは変えてしまった場合、これらのハイパーリンクは有効ですか?
以前、理解が足りず、ハイパーリンク設定後にファイルを新しく作ったフォルダの中に入れて整理してしまって、ハイパーリンクがエラーで無効になったことがあり、意味が分からなかったことがあります。その都度ハイパーリンクを設定し直していました…。
ですからコンピューター名や、ドキュメントをDに移す時に作る任意のフォルダ名などを変更してしまうとどうなのかが心配です。
コピーしてあるUSBメモリなどを差して使うのではなく、新しいパソコンのDのドキュメントに入れてどうなのかが知りたいです。
わかる方ありましたらよろしくお願いします。

こんばんは。

Vista 32bitです。
まだ何とか動いているので先になるかもしれませんが、パソコンを買い替えた時に心配があります。
現在、Word文書やExcelファイルをドキュメントに保存しています(USBメモリなどにもコピーをとっています)。ドキュメントはDドライブに任意の名前を付けたフォルダに移動しております。

それらのファイルの中で、いくつか他ファイル(ドキュメント内の別ファイル)へのハイパーリンクを設定しているものがあります。
たとえば、「A」という名前で保存したExcelファイルには問題文...続きを読む

Aベストアンサー

No.2 です。申し訳ありません。No.2 の説明の中で一部、逆のことを書いている部分がありました。次のとおり修正でお願いします。

×
オプションで「保存する時にリンクを更新する」というのが設定されている状態(デフォルト)では、格納するドライブが変わるときに、勝手に絶対パスに修正されてしまうようです。


オプションで「保存する時にリンクを更新する」というのが設定されている状態(デフォルト)では、ファイルを保存するときに(上書き保存を含みます)、勝手に絶対パスが相対パスに修正されてしまうようです。Excel や Word で絶対パスとなるのは、ハイパーリンクを作製する際に、リンク元とリンク先の格納されているドライブが異なる場合です。ドライブが同じ場合は、相対リンクで始めから作製されています。


オプションのせいで、後から上書き保存によって絶対パスが相対パスに変化してしまいます。変化したファイルを更に別の場所へ移動させると、その時点で開けないと言われてしまうわけです。上書きは頻繁に行うのだから、変化することが絶対にないようオプションを解除したままにするか、再び設定することもあるがリンク元とリンク先の相対的な位置に気を付けていつ変化しても大丈夫なように管理しておくか、という話になりますね。

なお、パスが変化すると言っても、ハイパーリンクの挿入/編集ダイアログにおいてアドレスが変わっているということであって、セルにテキストで入力されている「表示文字列」は、故意に編集しなければ変化しません。この点も、状況を紛らわしくさせている要因の一つかもしれません。


>少なくとも、現状のドキュメント内をコピーしてあるUSBメモリを、単純に新しいパソコンに差して使うだけなら問題なくハイパーリンクは有効っていうことですね?

上の説明をよく読んでいただければ、フォルダの構造に気を付けることでハイパーリンクが維持できそうだということにはなりそうです。ですが、申し訳ありませんが、手元にちょっと試せる環境がないので、そうらしいというだけです。


>ですから、手順の中の「D」と「C」ドライブを読み替えてやるといいってことですよね?

恐らくどこのドライブでスタートしても同じだろうなと思います。パスが変化するのは「(上書きなど)保存するとき」のようです。

No.2 です。申し訳ありません。No.2 の説明の中で一部、逆のことを書いている部分がありました。次のとおり修正でお願いします。

×
オプションで「保存する時にリンクを更新する」というのが設定されている状態(デフォルト)では、格納するドライブが変わるときに、勝手に絶対パスに修正されてしまうようです。


オプションで「保存する時にリンクを更新する」というのが設定されている状態(デフォルト)では、ファイルを保存するときに(上書き保存を含みます)、勝手に絶対パスが相対パスに修正されてしま...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング