excelで

とあるファイルへのハイパーリンクがされているセルで、 そのファイルが保管されているフォルダを開けれるようにしたいのですが、何かいい方法はないでしょうか?

よろしくお願いします。

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

A 回答 (5件)

A列にハイパーリンクが埋め込まれていて


そのアドレスがフルパスで記述されているとしたら

C:\Documents and Settings\nicotinism\My Documents\are.txt
A列のセルのダブルクリックや右クリックでは諸々使いにくいと思い
隣のB列のセルをダブルクリックした時に現れるように考えました。
そのシートのイベントに

Private Function GetLinkAdr(Rng As Range) As String
Dim StrAdr As String
Application.Volatile
With Rng.Cells(1)
  If .HasFormula Then
    If InStr(.Formula, "=HYPERLINK") = 1 Then _
        StrAdr = Split(.Formula, Chr(34))(1)
  Else
    If .Hyperlinks.Count > 0 Then _
        StrAdr = .Hyperlinks(1).Address
  End If
End With
GetLinkAdr = StrAdr
End Function

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim parentAddress As String
Dim oFso As Object
Dim f As Object
Dim linkAddress As String
If Target.Column <> 2 Then
  Exit Sub
End If
Set oFso = CreateObject("scripting.filesystemobject")
linkAddress = GetLinkAdr(ActiveCell.Offset(0, -1))

If linkAddress = "" Then
  Exit Sub
End If
Set f = oFso.getfile(linkAddress)
parentAddress = oFso.getParentFolderName(f)
CreateObject("shell.application").shellExecute parentAddress
Cancel = True
Set f = Nothing: Set oFso = Nothing
End Sub

なお、リンクアドレスの取得は
http://oshiete.goo.ne.jp/qa/3675397.html
のご回答を丸々使わせていただきました。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
VBAをとてもよく理解されているみたいで、大変うらやましいです。
正直、すぐには理解できそうもありませんが、いずれは なんとか理解して役立たせて頂きます。

お礼日時:2011/04/25 22:41

#3です。


>既設のファイルまでのハイパーリンクを編集せずに
とはハイパーリンクの設定の操作をせずに、例えば関数を埋め込むなどのことか。
ファイルまでのハイパーリンクを設定してあるあるセルの状態で、ボタンでもクリックすると、ファイルでなく、1段上のレベルの
フォルダを開きたいということか。関数や操作でな難しいと思うがVBAの経験などあるのかな。無ければ無理では。
普通にクリックしたらファイルが開くのでそれ以外の途を考えないといけない。
ボタンでも設けて
Private Sub CommandButton1_Click()
Dim fl As String
f = Range("A1").Hyperlinks(1).Address
fl = Left(f, InStrRev(f, "\"))
MsgBox fl
Shell "C:\Windows\Explorer.exe " & fl, vbNormalFocus
End Sub
Hyperlinks(1).の1も場合による。
もしこんな風なことなら、こんな手の込んだことは初心者は、やめるべきです。
ーーー
それに質問ではしたいこと(意図)がはっきりしないし、御礼で補足後でもまだはっきりわからない。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
おっしゃる通り、初心者ですので、すぐには使いこなせそうにありません。
皆さん、すばらしい知識をどのように習得されたのか・・とため息が出るぐらいにうらやましいです。
今後理解を深めて生きたいと思います。

お礼日時:2011/04/25 22:43

VBAなら容易だと思いますが、敢えて関数での実現にトライしてみました。


A1にハイパーリンクがあるとします。(ハイパーリンク関数によるハイパーリンクでは不可)
ここでは、ハイパーリンクの表示文字列と、ファイルパスは同じとします。
A2に下記の関数を入力します。4階層目までのパスに対応しているつもりです。(パス中の\が1~4個まで対応)
要するにファイルのパスの最後の\の左側を切り出して、フォルダーのハイパーリンクを生成するのに苦労してみたという事です。
CHOOSE関数でこんな事ができると知ったのが収穫でしょうか。
xl2010で試しています。ご参考まで。
=HYPERLINK(CHOOSE(LEN(A1)-LEN(SUBSTITUTE(A1,"\","")),LEFT(A1,FIND("\",A1,1)),LEFT(A1,FIND("\",A1,FIND("\",A1,1)+1)),LEFT(A1,FIND("\",A1,FIND("\",A1,FIND("\",A1,1)+1)+1)),LEFT(A1,FIND("\",A1,FIND("\",A1,FIND("\",A1,FIND("\",A1,1)+1)+1)+1))))
    • good
    • 0
この回答へのお礼

ありがとうございました。
今は明確に理解できておりませんが、ぜひ使ってみて、理解させていただきます。

お礼日時:2011/04/25 22:39

挿入ーハイパーリンクーハイパーリンクの挿入の操作で、普通はファイル名までを指定します。

さらに望みならそれ以下のレベルのシートなども指定できます。
逆に(ファイルの上のレベルの)フォルダのレベルで指定を止めておけば、質問のようになるのでは。
ただしクリックしてもファルダのレベルまでしか表示されず、ファイルはアイコン表示で、実際はその先の選択(ファイル指定)をしないと役に立たないでしょうがそれは覚悟の上で。
    • good
    • 0
この回答へのお礼

説明不足ですみません。
既設のファイルまでのハイパーリンクを編集せずに、そこからフォルダを開くという質問です。

お礼日時:2011/04/22 23:14

ふつーに右クリックして「ハイパーリンク(の挿入)」から,目的のフォルダを選んでハイパーリンクを埋めてやればOKです。

    • good
    • 0
この回答へのお礼

説明不足ですみません。
既設のハイパーリンクを編集せずに、そこからフォルダを開くという質問です。

お礼日時:2011/04/22 23:13

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

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

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

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

Q復元ポイントの作成とイメージファイル等のバックアップとの違いについて

今晩は、宜しくお願いします。

復元ポイントの作成とイメージファイル等のバックアップとの違いについて教えて下さい。

Windowsで復元ポイントからシステムを復元させる方法があり、
また、イメージファイル等にバックアップをとり、復元させる方法もありますが
この両者はどのように違うのでしょうか。

復元ポイントの作成とは、その時点のシステムの設定等だけを保存しているという
ことでしょうか。

また、イメージファイル等のバックアップを作成するということは
システム設定と作成したファイル等もイメージファイルとして一括してバックアップ
されるのでしょうか。

イメージファイルの復元時に、作成したファイル等もイメージファイルから
復元されるのなら、同じ名前のファイルがあった場合には、
イメージファイル作成時の古い情報のファイルになってしまうのでしょうか。

以上、宜しくお願いします。

Aベストアンサー

【システムの復元】
Windowsが使用するシステムファイルのバックアップと復元。
ユーザーファイルには影響しない。
HDDの中に作成されるので、Windowsが起動しない環境では使用出来ない。

【システム修復ディスクの作成】
Windowsの起動時にF8を押下して起動するセーフモードから「コンピューターの修復」「システム回復オプション」を、外部記憶装置(CD、USBメモリなど)から起動出来るようにする。
Windows自体が起動しなくなった場合に、外部記憶装置から「システム回復オプション」が起動出来るようになる。修復されるのは、選択した項目により異なる。
WindowsREを利用。
https://msdn.microsoft.com/ja-jp/library/hh825173.aspx

【バックアップと復元】
システムのバックアップを作成し、ハードディスクなどが壊れた場合に備えパソコン内部のデータを全てバックアップ・復元出来る。
Windowsのインストールディスクや、システム修復ディスクから復元が可能。
システムもユーザーデータもバックアップを取った時点の状態に戻る。

【システムの復元】
Windowsが使用するシステムファイルのバックアップと復元。
ユーザーファイルには影響しない。
HDDの中に作成されるので、Windowsが起動しない環境では使用出来ない。

【システム修復ディスクの作成】
Windowsの起動時にF8を押下して起動するセーフモードから「コンピューターの修復」「システム回復オプション」を、外部記憶装置(CD、USBメモリなど)から起動出来るようにする。
Windows自体が起動しなくなった場合に、外部記憶装置から「システム回復オプション」が起動出来るようになる。...続きを読む

Qハイパーリンクで開いたExcelファイルで表示するシートを指定したい

表記の件についてご教授ください。

WindowsXpにてExcel2000を使用しています。
親のExcelファイルがあり、この中からいくつかの子Excelファイルをハイパーリンクで呼び出しています。
呼び出された子Excelファイルには50枚程度のシートがあります。
この子Excelファイルを開いた時に表示されるシートを、親Excelから呼び出す時に指定したいと考えています。

ファイルを開く時のオプションを調べてみましたが、ファイルをリードオンリーで開くオプションはあるようですが、シートの指定は無いようでした。
教えてgooにてマクロを使ってシートを指定する方法がありましたが、親この方法だとある決まったシートでしか開けません。
子Excelファイルを1シート毎に分解すればよいのですが、管理が煩雑になるのでひとかたまりで管理したいと考えています。

何かよい方法はありますでしょうか?

Aベストアンサー

開くファイルの開きたいセルに名前をつける
(シートを開きたいのなら、そのシートのA1セルでよい)

ハイパーリンクの指定で
ファイル名#つけた名前
とする

Q救出ファイル復元 2の機能について

「救出ファイル復元 2」で画像ファイルJPEGの他にRAWファイル、拡張子(CR2)を復元出来るでしょうか。

キャノンの一眼デジカメを使っているのですが、他の復元ソフトでは、復元出来ませんでした。

Aベストアンサー

Vectorあたりで『ディスク・ファイル復旧』の項目で探せばみつかりそうですが。
要は,"復元ソフトで復元できるファイルがソフトに登録されている拡張子だけしかできない"ことですので,拡張子を選択できる復元ソフトを捜せばいいと思われます。

参考URL:http://www.vector.co.jp/vpack/filearea/win/util/disk/care/

QExcelのシートから 1000個ほどのフォルダに ハイパーリンクをつけたい

Excelのシートから 1000個ほどのフォルダに ハイパーリンクをつけたいのですが、効率の良い方法はないでしょうか

現在の手順は、以下の通りです
1.)対象フォルダ名をコピー
2.)セルを右クリック⇒ハイパーリンクの編集
3.)最近使ったファイルのアドレス履歴から>c:\データ\一覧.xls を選択 [一覧.xls]部分の替りにコピーしたフォルダ名を貼付け⇒[OK]
実際にクリックして、リンクの確認するまで約1分かかっています

(1)セルの表示を変えずに、ハイパーリンクだけを一括で編集⇒シートに結合(貼付け)する方法はありますか
(2)マクロを含め、何か効率の良い解決策があれば教えて下さい
(3)似たシートを作成した経験のある方は、時間短縮のできそうなアドバイスをお願いします

Aベストアンサー

LS - ファイル一覧の出力
http://www.vector.co.jp/soft/win95/util/se247619.html

から、一覧化したいファイルをhtmlで出力。
Excelにコピペ。

とか。

参考URL:http://www.vector.co.jp/soft/win95/util/se247619.html

Q削除した画像ファイルの取り出しまたは復元方法

ごみ箱に入れてから削除したファイルの復元方法を教えてください。

以前にも同様の質問をしたのですが、その際に教えていただいた方法で確かにいくつかのファイルは復元することができました。

しかし、一番復元したい画像ファイル(jpeg形式)が復元できません、同時期に同じく削除したファイルは無事に取り出せたのですが肝心のファイルは取り出せません。指定するファイル名、フォルダ名などの間違いはないのですが何が原因で復元できないのか理解できません。

良きアドバイスをいただければ助かります。
宜しくお願いいたします。

Aベストアンサー

こういったファイル復元ソフトを利用してファイルを復活させます。

●FileRecovery(フリーウェア)

消去・欠損したファイルを復元するソフト。
http://www.pcinspector.de/download.htm

●復元(フリーウェア)
http://www.vector.co.jp/soft/win95/util/se192983.html

■FINALDATA(ファイナルデータ)フォトリカバリー3.0(有料)
http://www.finaldata.ne.jp/f_8_3.html

当然ながら復元できる確立は有料ソフトのほうが高いです。

これらを使っても復元できない場合はファイルが上書きされて完全に消えている可能性が高いです。

Qハイパーリンクで開いたエクセルファイルの画面分割またはエクセル起動時にファイル指定で自動実行

お世話になります。

イントラネットの内HPでエクセルファイルをハイパーリンクで開いて共有利用しています。大変便利なのですがブラウザー内だと画面の分割が出来ない?ようです。もし出来るようでしたら教えていただきたいのですが…

それが無理ならパイパーリンクの記述にエクセル自身を記述し、実行時ファイルを指定して起動させたいのですが、記述方法がありますか?

Aベストアンサー

お力になれなく残念です。

分割画面の利用方法は分かりませんが、いっその事HTMLのフレームタグを使ってはいかがですか。
(エクセルのオプション[表示]で行列番号や数式バー等を非表示にできます。)

Q「ウイルス感染ファイル」削除後のシステム復元でどうなる?

ウイルスバスターで幾つかのウイルス感染ファイル発見し全て削除しましたが、感染したファイルはシステムファイルでしたので少し心配でしたが削除しました。
そこで教えて頂きたいのですが、感染した日付以前でシステムの復元をする事によって削除されたシステムファイルは復元できるのでしょうか?一度削除されたシステムファイルはシステムの復元をしても二度と復元しないのでしょうか?

Aベストアンサー

以下WindowsXPという前提で・・・

>システムファイルでしたので少し心配でしたが削除しました。
通常、このままではシステムエラーが発生します。
しかし、Windowsには自動復旧機能があり、削除されたファイルをハードディスク上にあるCabファイルから呼び出して復旧させるようになっています。
従って、殆どの場合、削除されたシステムファイルを手動でインストールする必要はありません。

☆SFCの実行
もしシステムエラーが出る場合SFC(System File Checker)の実行をお勧めします。

1.CDドライブにOSのインストールディスクを入れておく。
2.「スタート」「コマンドプロンプト」または「ファイル名を指定して実行」で
「sfc /scannow」と入力して「OK」

「Windows XP professional のディスクを入れてください」という表示が出ることがありますがHome Editionであれば「無視」を選んでスキップしてください

>感染した日付以前でシステムの復元をする事によって削除されたシステムファイルは復元できるのでしょうか?
出来ないことはないでしょうが、あまりお勧めできません。
現在の状態が正常でない。
過去の状態の方が快適に操作できる。
という場合、それがいいかもしれません。
しかし、Windowsの設定というのは非常に広範囲にわたっており、現在と過去を比較して、どちらが適正かを判断するのは容易ではありません。
また、過去の復元ポイントの中には不正な設定が含まれている場合があり、間違って、そのポイントを選択することもあります。
ウィルス対策ソフトのサイトでは一旦復元設定を無効にして、過去の復元ポイントを全て消去することを推奨しています。

>一度削除されたシステムファイルはシステムの復元をしても二度と復元しないのでしょうか?
間違った操作をすると汚染されたファイルが復元されてしまいます。
一旦復元設定を無効にして、過去の復元ポイントを全て消去することで汚染されたファイルは二度と復元しません。

以下WindowsXPという前提で・・・

>システムファイルでしたので少し心配でしたが削除しました。
通常、このままではシステムエラーが発生します。
しかし、Windowsには自動復旧機能があり、削除されたファイルをハードディスク上にあるCabファイルから呼び出して復旧させるようになっています。
従って、殆どの場合、削除されたシステムファイルを手動でインストールする必要はありません。

☆SFCの実行
もしシステムエラーが出る場合SFC(System File Checker)の実行をお勧めします。

1.CDドライ...続きを読む

QExcelからWORDのテンプレートファイルにハイパーリンクを貼る

現在EXCELの各セルからWORDファイルにハイパーリンクを貼っています。

このWORDファイルを「.DOC」から「.DOT(テンプレート)」ファイルに変更したところ、「.DOT」ファイルが直接開いてしまいます。

通常、「.DOT」ファイルはダブルクリックで開くと、本体が開かないで、新規文書が開くのですが、EXCELで新規文書を開くようなハイパーリンクは設定できないのでしょうか?

わかる人がいたらご教授願います。

Aベストアンサー

私の回答の意味は、次のようなことなのですが・・・・

まず、ご自分でお作りになったテンプレート(B.dot)をエクスプローラから
ダブルクリックすると、"文書1"として開きますよね。
これをそのまま "文書1.doc" として任意のフォルダに保存します。
ハイパーリンク先は、その "文書1.doc" にします。

Q復元ソフトのふと感じた疑問 -ファイル名を削除したい-

先日、復元ソフトを使用していたときに感じたことなのですが
(使用ソフトは「復元」です。)
ファイルを復元する際の手順で削除したファイルが検索できますよね。
このファイル検索の時に、HITしないようにファイル名を完全に削除したい場合はどのようにすればいいのでしょうか??

例えば、「●●との秘密旅行001.jpg」のファイルを削除したとします。
その後、復元ソフトで検索をかけるとファイルを復元しなくてもファイル名を見ただけで怪しいファイルとわかってしまいますよね。
復元ソフトの検索で、表示されなくする方法か、別名に変える方法があるのなら教えてください。

Aベストアンサー

95159さんが求めていらっしゃるのは以下の方法ではないでしょうか。

フリーの復元ソフトに「DataRecovery」というものがあります。このフリーソフトには「削除したファイル」の名前を時間をかけず簡単に消去できる機能が付いています。

『DataRecovery』
http://www.vector.co.jp/soft/win95/util/se382922.html

■使い方
起動させる→該当ドライブをクリック→[スキャン]ボタンをクリック→削除したファイルの表示完了→「目的のファイルが見つかりましたか?」と出てきたら[キャンセル]をクリック→名前を消去したいファイルをクリックするか、名前を消去したい複数ファイルを左クリックしながら選択する→[消去]ボタンをクリック→[OK]をクリック

これで、名前を消せます。しかしながら完璧ではなくて、一部消せないこともあります。
(「DataRecovery」を再起動してもう一度ドライブをスキャンすると消せなかったファイルが表示されます)

参考URL:http://www.vector.co.jp/soft/win95/util/se382922.html

95159さんが求めていらっしゃるのは以下の方法ではないでしょうか。

フリーの復元ソフトに「DataRecovery」というものがあります。このフリーソフトには「削除したファイル」の名前を時間をかけず簡単に消去できる機能が付いています。

『DataRecovery』
http://www.vector.co.jp/soft/win95/util/se382922.html

■使い方
起動させる→該当ドライブをクリック→[スキャン]ボタンをクリック→削除したファイルの表示完了→「目的のファイルが見つかりましたか?」と出てきたら[キャンセル]をクリック→名...続きを読む

QExcelでテンキーでハイパーリンク先にジャンプしたい

Excelにシートを300枚ほど入れています。
その索引として、一番左のシートに「_シート選択」という名前のシートを作り、そこに各シートの名前一覧を入れ、各シートにリンクできるハイパーリンクもつけています。

そのシート名にマウスのポインタを合わせたら、リンクできるようになっているのですが、個人的はカーソルを合わせただけでリンクできるようにしたいのです。マウスよりもテンキーでセルを移動することが多いので。

F2を押してセル内の文字列を選択できるようにしても、Enter押下したらハイパーリンクできるようになると思っていたのですが、出来ません。何かいい方法はないでしょうか。

Aベストアンサー

>カーソルを合わせただけでリンクできるようにしたいのです

こんな感じ?シートモジュールでお試し下さい。
外してたらすみません、、、

【手順】
1. リンク設定してあるシートを選択
2. シート選択タブ上で右クリック
3. [コードの表示]をクリック
  --> Visual Basic Editor(以下 VBE )が起動します
4. 以下のコードをコピー&ペースト
5. VBE を閉じる

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  On Error Resume Next
  With Target
    'Target が複数セルの場合または A列(1) にあれば何もしない
    If .Count = 1 And .Column = 1 Then
      '処理の対象は 1~10 行目まで
      If .Row > 1 And .Row < 10 Then
        .Hyperlinks(1).Follow
      End If
    End If
  End With

End Sub

>カーソルを合わせただけでリンクできるようにしたいのです

こんな感じ?シートモジュールでお試し下さい。
外してたらすみません、、、

【手順】
1. リンク設定してあるシートを選択
2. シート選択タブ上で右クリック
3. [コードの表示]をクリック
  --> Visual Basic Editor(以下 VBE )が起動します
4. 以下のコードをコピー&ペースト
5. VBE を閉じる

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

  On Error Resume Next
  With Target
    'Targe...続きを読む


人気Q&Aランキング