Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1183 / 13645 ツリー ←次へ | 前へ→

【75768】ブックの共有時のハイパーリンク使用 ゆーあ 14/7/4(金) 13:51 質問[未読]
【75770】Re:ブックの共有時のハイパーリンク使用 γ 14/7/4(金) 21:37 回答[未読]
【75781】Re:ブックの共有時のハイパーリンク使用 ゆーあ 14/7/7(月) 8:08 お礼[未読]
【75782】Re:ブックの共有時のハイパーリンク使用 独覚 14/7/7(月) 13:06 回答[未読]
【75784】Re:ブックの共有時のハイパーリンク使用 ゆーあ 14/7/7(月) 15:39 質問[未読]
【75785】Re:ブックの共有時のハイパーリンク使用 独覚 14/7/7(月) 16:20 回答[未読]
【75786】Re:ブックの共有時のハイパーリンク使用 ゆーあ 14/7/8(火) 8:10 質問[未読]
【75787】Re:ブックの共有時のハイパーリンク使用 γ 14/7/8(火) 8:33 発言[未読]
【75788】Re:ブックの共有時のハイパーリンク使用 ゆーあ 14/7/8(火) 9:19 質問[未読]
【75789】Re:ブックの共有時のハイパーリンク使用 独覚 14/7/8(火) 9:43 回答[未読]
【75790】Re:ブックの共有時のハイパーリンク使用 ゆーあ 14/7/8(火) 10:33 質問[未読]
【75791】Re:ブックの共有時のハイパーリンク使用 独覚 14/7/8(火) 11:12 質問[未読]
【75792】Re:ブックの共有時のハイパーリンク使用 ゆーあ 14/7/8(火) 11:37 発言[未読]
【75793】Re:ブックの共有時のハイパーリンク使用 独覚 14/7/8(火) 11:56 発言[未読]
【75794】Re:ブックの共有時のハイパーリンク使用 ゆーあ 14/7/8(火) 15:44 発言[未読]
【75795】Re:ブックの共有時のハイパーリンク使用 独覚 14/7/8(火) 16:08 発言[未読]
【75796】Re:ブックの共有時のハイパーリンク使用 ゆーあ 14/7/8(火) 16:34 発言[未読]
【75797】Re:ブックの共有時のハイパーリンク使用 独覚 14/7/8(火) 16:48 回答[未読]
【75798】Re:ブックの共有時のハイパーリンク使用 ゆーあ 14/7/8(火) 17:07 発言[未読]
【75799】Re:ブックの共有時のハイパーリンク使用 独覚 14/7/8(火) 17:19 発言[未読]
【75800】Re:ブックの共有時のハイパーリンク使用 ゆーあ 14/7/8(火) 17:32 発言[未読]
【75801】Re:ブックの共有時のハイパーリンク使用 独覚 14/7/8(火) 19:10 発言[未読]
【75802】Re:ブックの共有時のハイパーリンク使用 ゆーあ 14/7/8(火) 19:44 発言[未読]
【75803】Re:ブックの共有時のハイパーリンク使用 独覚 14/7/8(火) 20:16 発言[未読]
【75805】Re:ブックの共有時のハイパーリンク使用 ゆーあ 14/7/9(水) 10:45 お礼[未読]
【75806】Re:ブックの共有時のハイパーリンク使用 独覚 14/7/9(水) 10:58 発言[未読]
【75807】Re:ブックの共有時のハイパーリンク使用 ゆーあ 14/7/9(水) 13:12 発言[未読]
【75808】Re:ブックの共有時のハイパーリンク使用 独覚 14/7/9(水) 13:54 発言[未読]
【75809】Re:ブックの共有時のハイパーリンク使用 ゆーあ 14/7/9(水) 14:35 発言[未読]
【75810】Re:ブックの共有時のハイパーリンク使用 独覚 14/7/9(水) 15:17 発言[未読]
【75811】Re:ブックの共有時のハイパーリンク使用 ゆーあ 14/7/9(水) 15:35 お礼[未読]

【75768】ブックの共有時のハイパーリンク使用
質問  ゆーあ  - 14/7/4(金) 13:51 -

引用なし
パスワード
   WinXP Excel2000

ブックの共有を行った状態で、
ハイパーリンクの機能を使用可能な状態に出来ますでしょうか?

ハイパーリンク使用時のみ、ブックの共有解除する方法では、
共有している意味が無くなりますので、
解除せず、ハイパーリンク機能を使用できる方法が御座いましたら、
ご教授お願い致します。

【75770】Re:ブックの共有時のハイパーリンク使用
回答  γ  - 14/7/4(金) 21:37 -

引用なし
パスワード
   「共有ブックで使用できない機能」
ht tp://office.microsoft.com/ja-jp/excel-help/HP005201080.aspx
によると
ハイパーリンクの挿入または変更(既存のものは除く)は、不可事項になっています。
VBAだからといって、
その制約が解除されるといった事はないと思います。

【75781】Re:ブックの共有時のハイパーリンク使用
お礼  ゆーあ  - 14/7/7(月) 8:08 -

引用なし
パスワード
   γ さん

コメントありがとうございます。
私もいろいろ調べたのですが、回避できるみたいな記述がありましたので、
少し期待してたのですが、残念です。
お手数お掛けいたしました、ありがとうございました。

【75782】Re:ブックの共有時のハイパーリンク使用
回答  独覚  - 14/7/7(月) 13:06 -

引用なし
パスワード
   使いたい機能が不明なのでできるかどうかはわからないけど、
HYPERLINK関数を使うことはできないのかな?

【75784】Re:ブックの共有時のハイパーリンク使用
質問  ゆーあ  - 14/7/7(月) 15:39 -

引用なし
パスワード
   独覚 さん

コメントありがとうございます。

>使いたい機能が不明なのでできるかどうかはわからないけど、
>HYPERLINK関数を使うことはできないのかな?
とのことでしたので、
HYPERLINK関数を調べてみましたが、
使い方がまったくわかりませんでした。。。


そのHYPERLINK関数を使えば、
下記コードのセレクトしているセルをハイパーリンクにできますでしょうか。
宜しくお願い致します。

Dim ACR As Long

ACR = ActiveCell.Row
Cells(ACR, 125).Select
  
  ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
  Cells(ACR, 125).Value

Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=Ture

【75785】Re:ブックの共有時のハイパーリンク使用
回答  独覚  - 14/7/7(月) 16:20 -

引用なし
パスワード
   セレクトしたセルで、ということであればそのセルに
=HYPERLINK("そのセルの内容","そのセルの内容")

別のセルにしてもいいのであれば(セレクトしたセルがA1セルの場合)
=HYPERLINK(A1,A1)
で。

最終的にどんな時にどんなことをしたいかがわからないので基本だけですが。

【75786】Re:ブックの共有時のハイパーリンク使用
質問  ゆーあ  - 14/7/8(火) 8:10 -

引用なし
パスワード
   独覚 さん

コメントありがとうございます。

>セレクトしたセルで、ということであればそのセルに
>=HYPERLINK("そのセルの内容","そのセルの内容")
>
>別のセルにしてもいいのであれば(セレクトしたセルがA1セルの場合)
>=HYPERLINK(A1,A1)
>で。

とのことですが、
下記コードに当てはめた場合、どのようになるでしょうか?
自分でもやってみたのですが、上手くいかないです。

Dim ACR As Long

ACR = ActiveCell.Row
Cells(ACR, 125).Select
  
  ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _
  Cells(ACR, 125).Value

Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=Ture

【75787】Re:ブックの共有時のハイパーリンク使用
発言  γ  - 14/7/8(火) 8:33 -

引用なし
パスワード
   横から失礼します。

独覚 さん、Hyperlink関数は使えるんですね、知りませんでした。
ありがとうございます。

質問者さん
Hyperlink関数とハイパーリンクの挿入はまったく別のものです。
あなたのコードはHyperlink関数と関係がありません。

セルに
=Hyperlink("リンク先のファイルまたはURL","そのセルに表示したい文字列")
を入れれば良いのです。

【75788】Re:ブックの共有時のハイパーリンク使用
質問  ゆーあ  - 14/7/8(火) 9:19 -

引用なし
パスワード
   γ さん

コメントありがとうございます。

>質問者さん
>Hyperlink関数とハイパーリンクの挿入はまったく別のものです。
>あなたのコードはHyperlink関数と関係がありません。
>
>セルに
>=Hyperlink("リンク先のファイルまたはURL","そのセルに表示したい文字列")
>を入れれば良いのです。

まったく別のものでしたか。
勘違いしてました。すみません。
では、
仮にセルA1に、「C:\画像」とリンク先が書かれていれ、
セルA2に、セルA1のリンク先から、
=HYPERLINK("C:\画像","C:\画像")
と、当てはめてやるにはどうすれば良いでしょうか?
マクロの記録でやってみましたが、セルA1を選択できませんでした。
宜しくお願い致します。

【75789】Re:ブックの共有時のハイパーリンク使用
回答  独覚  - 14/7/8(火) 9:43 -

引用なし
パスワード
   ▼ゆーあ さん:
>仮にセルA1に、「C:\画像」とリンク先が書かれていれ、
>セルA2に、セルA1のリンク先から、
>=HYPERLINK("C:\画像","C:\画像")
>と、当てはめてやるにはどうすれば良いでしょうか?
A2セルに
=HYPERLINK(A1,A1)
と入力します。

で、たとえばセルにリンク先を入力した場合に隣のセルにHYPERLINK関数を入力するマクロです。
(基本だけなので実際はもっと条件なんかを付けないとならないけれども)

Private Sub Worksheet_Change(ByVal Target As Range)
  Application.EnableEvents = False
  Target.Offset(0, 1).Formula = "=HYPERLINK(" & Target.Address & "," & Target.Address & ")"
  Application.EnableEvents = True
End Sub

または

Private Sub Worksheet_Change(ByVal Target As Range)
  Application.EnableEvents = False
  Target.Offset(0, 1).Formula = "=HYPERLINK(""" & Target.Value & """,""" & Target.Value & """)"
  Application.EnableEvents = True
End Sub

1番目はセル番地を設定、2番目はセルの内容を設定。

【75790】Re:ブックの共有時のハイパーリンク使用
質問  ゆーあ  - 14/7/8(火) 10:33 -

引用なし
パスワード
   ▼独覚 さん:

コメントありがとうございます。
また、私の理解力が無さ過ぎてすみません。

少し整理させて下さい。
まず、セルA1にリンク先のアドレスがあります。
その状態で、フォーム上にコンボボタン1があり、
コンボボタン1を押すと、
  1.セルA6に"=HYPERLINK(A1,A1)を入力
  2. セルA6をクリック
  3.リンク先表示
 (4.セルA1が空欄の場合、動作しない)
と言う動作を考えております。
そこで、先ほどからの助言を基に、下記のコードをなんとか作成したのですが、
セルA6に入力は出来ても、クリックして開けない感じです。

Private Sub CommandButton6_Click()
Dim ACR As Long

ACR = ActiveCell.Row
Cells(ACR, 1).Select

ActiveCell.FormulaR1C1 = "=HYPERLINK(RC[-5],RC[-5])"

Cells(ACR, 2).Select
Worksheets("Sheet1").Select
End Sub

で、
今しがたお教え頂いたコードと上手く組み合わせれないかと
思ったのですが上手くいきませんでした。

お手数お掛けして、誠に申し訳御座いませんが、
前述の説明を加味して、再度アドバイス頂ければ幸いでございます。
宜しくお願い致します。

【75791】Re:ブックの共有時のハイパーリンク使用
質問  独覚  - 14/7/8(火) 11:12 -

引用なし
パスワード
   ▼ゆーあ さん:

最初のほうで「最終的に何をしたいのか」に対して「セルにハイパーリンクを設定したい」
ということでしたが、どうも「セルにハイパーリンクを設定する。そのハイパーリンクを
実行してハイパーリンク先を開く」を自動で行いたいということでしょうか?

で、この場合、「ハイパーリンク設定する」「ハイパーリンク先を実行する」の両方が
必要ですか?

また、ハイパーリンク先はどんなものが指定される可能性があるでしょうか?
(フォルダ、画像ファイルやEXCELのブック等、実行ファイル、その他)

【75792】Re:ブックの共有時のハイパーリンク使用
発言  ゆーあ  - 14/7/8(火) 11:37 -

引用なし
パスワード
   ▼独覚 さん:

度々申し訳ございません。

>最初のほうで「最終的に何をしたいのか」に対して「セルにハイパーリンクを設定したい」
>ということでしたが、どうも「セルにハイパーリンクを設定する。そのハイパーリンクを
>実行してハイパーリンク先を開く」を自動で行いたいということでしょうか?
>
>で、この場合、「ハイパーリンク設定する」「ハイパーリンク先を実行する」の両方が
>必要ですか?

行いこととしては、
仰るとおり、セルにハイパーリンクを設定し、
ハイパーリンクを実行してハイパーリンク先を開く
を自動で行いたいということです。
で、先ほどのコードで、「ハイパーリンクを設定する」までは出来ているのかな?
と個人的には思っておりまして、後はそのセルをクリックすることで、
「ハイパーリンク先を実行する」ことになるのではないかと考えております。
勘違いでしたら、すみません。


>また、ハイパーリンク先はどんなものが指定される可能性があるでしょうか?
>(フォルダ、画像ファイルやEXCELのブック等、実行ファイル、その他)

ハイパーリンク先で指定されるのは、
画像ファイルのみなります。

以前、γさん、カリーニンさんに画像ファイルのパス名(ハイパーリンク先)
をセルに表示させる方法はお教え頂き、セルA1にある状態です。
で、セルF6(A6は間違いでした)に「ActiveCell.FormulaR1C1 = "=HYPERLINK(RC[-5],RC[-5])"」とハイパーリンクを設定し、そのF6をクリックして開きたいのですが、開けないということなんです。

【75793】Re:ブックの共有時のハイパーリンク使用
発言  独覚  - 14/7/8(火) 11:56 -

引用なし
パスワード
   ▼ゆーあ さん:

HYPERLINK関数ではハイパーリンクを設定するだけになります。
そのハイパーリンクをマクロ(VBA)でクリックするのはたぶん不可能かと。
(私がやり方を知らないだけかもしれませんが)

なのでその画像を開くのは下記に記載したリンク先(頭に「http://」を付けてください)の
「拡張子関連づけでファイルを開く」を使ってはどうでしょうか?

www.moug.net/tech/exvba/0060072.html

【75794】Re:ブックの共有時のハイパーリンク使用
発言  ゆーあ  - 14/7/8(火) 15:44 -

引用なし
パスワード
   ▼独覚 さん:

コメントありがとうございます。
クリックは不可能なんですか。。。
了解致しました。ありがとうございます。


代替案ですが、
まったく分かりません。。。
ActiveCell.FormulaR1C1 = "=HYPERLINK(http://& RC[-5],RC[-5])"
ってことでしょうか?
宜しくお願い致します。

【75795】Re:ブックの共有時のハイパーリンク使用
発言  独覚  - 14/7/8(火) 16:08 -

引用なし
パスワード
   ▼ゆーあ さん:
HYPERLINK関数の設定とセルに書き込まれているファイルを開くのは全く別の作業です。

HYPERLINK関数の設定はゆーあさんのお書きになった
Dim ACR As Long

ACR = ActiveCell.Row
Cells(ACR, 1).Select

ActiveCell.FormulaR1C1 = "=HYPERLINK(RC[-5],RC[-5])"

で、そのあとにリンク先の方法でセルに書き込まれているファイルを開くということです。

【75796】Re:ブックの共有時のハイパーリンク使用
発言  ゆーあ  - 14/7/8(火) 16:34 -

引用なし
パスワード
   ▼独覚 さん:

>HYPERLINK関数の設定とセルに書き込まれているファイルを開くのは全く別の作業>です。
了解しました。すみません。


>で、そのあとにリンク先の方法でセルに書き込まれているファイルを開くという?>ことです。

意味がわかりました。
やってみたのですが、Runメゾットで失敗しましたとなります。
Runの"  "の中は、どう記述すれば良いのでしょうか?


Private Sub CommandButton6_Click()
Dim ACR As Long
Dim WSH

ACR = ActiveCell.Row
Cells(ACR, 6).Select
Application.EnableEvents = False
 ActiveCell.FormulaR1C1 = "=HYPERLINK(RC[-5],RC[-5])"
  Application.EnableEvents = True

ActiveCell.FormulaR1C1 = "=HYPERLINK(RC[-5],RC[-5])"

   Set WSH = CreateObject("Wscript.Shell")
   WSH.Run "     ", 3 ←ここでエラー
   Set WSH = Nothing

Cells(ACR, 2).Select
Worksheets("Sheet1").Select
End Sub

【75797】Re:ブックの共有時のハイパーリンク使用
回答  独覚  - 14/7/8(火) 16:48 -

引用なし
パスワード
   ▼ゆーあ さん:
アクティブセルの内容を変数にとっておいてそれを使います。

Private Sub CommandButton6_Click()
  Dim ACR    As Long
  Dim WK_Link  As String
  Dim WSH

  WK_Link = ActiveCell.Value
  ACR = ActiveCell.Row
  Cells(ACR, 6).Select
  ActiveCell.FormulaR1C1 = "=HYPERLINK(RC[-5],RC[-5])"
  Set WSH = CreateObject("Wscript.Shell")
  WSH.Run WK_Link, 3
  Set WSH = Nothing

  Cells(ACR, 2).Select
  Worksheets("Sheet1").Select
End Sub

ただし、リンク先にあったようにリンク先のパス名にスペースが含まれる可能性がある場合、
WSH.Run WK_Link, 3

WSH.Run """" & WK_Link & """", 3
としておいたほうが安全です。

また、
Application.EnableEvents
はセル更新時イベントで実行させる場合にイベントの連鎖を防ぐためのものなので
コマンドボタンで実行させる場合には必要ないものになります。

【75798】Re:ブックの共有時のハイパーリンク使用
発言  ゆーあ  - 14/7/8(火) 17:07 -

引用なし
パスワード
   ▼独覚 さん:

コードありがとうございます。
変数にとっておいて使うんですね。
初心者ですみません。


実際に試してみましたが、
やはり、Runのところで、

実行時エラー'-2147024894(80070002)':
'Run'メゾットは失敗しました:'IWshShell3'オブジェクト

と、エラーが出ます。。。

【75799】Re:ブックの共有時のハイパーリンク使用
発言  独覚  - 14/7/8(火) 17:19 -

引用なし
パスワード
   ▼ゆーあ さん:

-2147024894のエラーは検索してみたところ、ファイルが見つからない、というエラーのようです。

セルに入力したパスにそのファイルはあるかどうか確認してみてください。

こちらではWindows7+EXCEL2010という環境で共有状態でファイルが開かれることを確認しています。

【75800】Re:ブックの共有時のハイパーリンク使用
発言  ゆーあ  - 14/7/8(火) 17:32 -

引用なし
パスワード
   ▼独覚 さん:

ファイルあることは確認できました。
またセルには、 "=HYPERLINK(RC[-5],RC[-5])"と記入されており、
クリックすると画像が表示されました。

WindowsXP+EXCEL2000だとダメなんでしょうか。。。

【75801】Re:ブックの共有時のハイパーリンク使用
発言  独覚  - 14/7/8(火) 19:10 -

引用なし
パスワード
   ▼ゆーあ さん:
すみません、少し勘違いをしていました。

WK_Link = ActiveCell.Value

WK_Link = Cells(ACR,1).Value
にして
ACR = ActiveCell.Row
の後ろに持って行ってみてください。

【75802】Re:ブックの共有時のハイパーリンク使用
発言  ゆーあ  - 14/7/8(火) 19:44 -

引用なし
パスワード
   ▼独覚 さん

ありがとうございます!!!
凄いです!凄すぎです!!
ブックの共有しても、ハイパーリンクできました!!
本当にありがとうございます!心より感謝してます!!


ですが、あの、、
お礼の後で、大変申し訳ないのですが、、、
リンク先(セルA1)が空欄の場合に、
コンボボタンを押すと同じRunエラーがでるんです。
これを回避する方法はございますでしょうか?

おんぶに抱っこ状態で、申し訳御座いませんが、
何卒宜しくお願い致します。

【75803】Re:ブックの共有時のハイパーリンク使用
発言  独覚  - 14/7/8(火) 20:16 -

引用なし
パスワード
   ▼ゆーあ さん:
>リンク先(セルA1)が空欄の場合に、
>コンボボタンを押すと同じRunエラーがでるんです。
>これを回避する方法はございますでしょうか?
If構文を使って処理を分岐します。

WK_Link = Cells(ACR,1).Value
の次の行に
  If WK_Link = "" then
    Exit Sub
  End If
を入れてみてください。

もし、空白の場合にHYPERLINK関数も消したいのであれば
Exit Sub
の前に
Cells(ACR, 6).ClearContents
を入れてみてください。

【75805】Re:ブックの共有時のハイパーリンク使用
お礼  ゆーあ  - 14/7/9(水) 10:45 -

引用なし
パスワード
   ▼独覚 さん

ありがとうございます!
見事に完成しました!!感無量です!!

最初また同じRunエラーがでたんですけど、
下記コードに変更したら回避できたました!!

お忙しい中、本当に長々お付き合い頂き誠にありがとうございました。
ご迷惑ばかりお掛けしましたが、
私自身も成長させて頂き、感謝しか御座いません。
心より御礼申し上げます。本当にありがとうございました。

WK_Link = Cells(ACR,6).Value
  If Cells(ACR,1) = "" then
  Cells(ACR, 6).ClearContents
 Exit Sub
End If

【75806】Re:ブックの共有時のハイパーリンク使用
発言  独覚  - 14/7/9(水) 10:58 -

引用なし
パスワード
   ▼ゆーあ さん:
>WK_Link = Cells(ACR,6).Value
>  If Cells(ACR,1) = "" then
>  Cells(ACR, 6).ClearContents
> Exit Sub
> End If

あれ?、
>WK_Link = Cells(ACR,6).Value

>WK_Link = Cells(ACR,1).Value
じゃないのかな?

>WK_Link = Cells(ACR,6).Value
で、うまく動きますか?

>WK_Link = Cells(ACR,1).Value
にすれば
>  If Cells(ACR,1) = "" then

>  If WK_Link = "" then
でいいはずだけど。

【75807】Re:ブックの共有時のハイパーリンク使用
発言  ゆーあ  - 14/7/9(水) 13:12 -

引用なし
パスワード
   ▼独覚 さん:

コメントありがとうございます。
多分、また私の説明不足(下手&誤記)による、
独覚さんの認識違いです。。。すみません。。。

リンクのアドレス(リンク先)は、A1にありまして、
A1のアドレスを、HYPERLINK関数でA6に、=HYPERLINK(A1,A1)
となっております。
っで、A1が空欄の場合、Runエラーになりますので、
WL Link = Cells(ACR,A6).Value
 If Cells(ACR,1) = ""then
で、OKになるわけです。ですよね?

ブックの共有時での動作も問題無く確認出来てますので、
まるっとOKだと思います。

最後の最後まで、混乱させて申し訳御座いません。

【75808】Re:ブックの共有時のハイパーリンク使用
発言  独覚  - 14/7/9(水) 13:54 -

引用なし
パスワード
   ▼ゆーあ さん:
>リンクのアドレス(リンク先)は、A1にありまして、
>A1のアドレスを、HYPERLINK関数でA6に、=HYPERLINK(A1,A1)
>となっております。
>っで、A1が空欄の場合、Runエラーになりますので、
>WL Link = Cells(ACR,A6).Value
> If Cells(ACR,1) = ""then
>で、OKになるわけです。ですよね?
まず、WK_Linkには「WSH.Run」で実行させるパスが入ります。
で、「Cells」でのセル指定は
Cells(行番号,列番号)
なので「Cells(ACR,6).Value」だとアクティブセルと同じ行の6列目(F列)つまりHYPERLINK関数を
入力するセルの値(変更前)になります。
本来「WK_Link」に入れるのはA1セル(アクティブセルと同じ行の1列目)の値なので
「Cells(ACR,1).Value」になり、この「WK_Link」が空白かどうかで処理を変えることになります。


>ブックの共有時での動作も問題無く確認出来てますので、
>まるっとOKだと思います。

これは一度、実行してA6セルにHYPERLINK関数が入っている場合ではないですか?
A1セルのパスを変更して実行すると変更前のファイルが開かれ、一度A1セルを空白にして
実行後、A1セルにパスを入力して実行した場合はエラーになりませんか?

【75809】Re:ブックの共有時のハイパーリンク使用
発言  ゆーあ  - 14/7/9(水) 14:35 -

引用なし
パスワード
   ▼独覚 さん

コメントありがとうございます。

>これは一度、実行してA6セルにHYPERLINK関数が入っている場合ではないですか?
>A1セルのパスを変更して実行すると変更前のファイルが開かれ、一度A1セルを空白にして
>実行後、A1セルにパスを入力して実行した場合はエラーになりませんか?

実行せずA6セルにHYPERLINK関数が入ってなく、コンボボタンを押す(実行)と、
何も実行しない(問題無い)ですよ。
又、A1セルのパスを変更して実行すると、
問題無く変更後のファイルが開かれます。
更に、一度A1セルを空白にして実行後、A1セルにパスを入力して
実行した場合も、問題無く画像ファイルが開きますよ。

奇跡的に正常な動作をしてるのでしょうか・・・・?

【75810】Re:ブックの共有時のハイパーリンク使用
発言  独覚  - 14/7/9(水) 15:17 -

引用なし
パスワード
   ▼ゆーあ さん:

もしかして、私のほうではプログラムが
Private Sub CommandButton6_Click()
  Dim ACR    As Long
  Dim WK_Link  As String
  Dim WSH

  ACR = ActiveCell.Row
  
  WK_Link = Cells(ACR, 1).Value
  If WK_Link = "" Then
    Cells(ACR, 6).ClearContents
    Exit Sub
  End If
  
  Cells(ACR, 6).Select
  
  ActiveCell.FormulaR1C1 = "=HYPERLINK(RC[-5],RC[-5])"
  Set WSH = CreateObject("Wscript.Shell")
  WSH.Run WK_Link, 3
  Set WSH = Nothing

  Cells(ACR, 2).Select
  Worksheets("Sheet1").Select
End Sub
だと考えての発言だったんだけれども

Private Sub CommandButton6_Click()
  Dim ACR    As Long
  Dim WK_Link  As String
  Dim WSH

  ACR = ActiveCell.Row
  
  Cells(ACR, 6).Select
  
  ActiveCell.FormulaR1C1 = "=HYPERLINK(RC[-5],RC[-5])"
  WK_Link = Cells(ACR,6).Value
  If Cells(ACR,1) = "" then
    Cells(ACR, 6).ClearContents
    Exit Sub
  End If
  Set WSH = CreateObject("Wscript.Shell")
  WSH.Run WK_Link, 3
  Set WSH = Nothing

  Cells(ACR, 2).Select
  Worksheets("Sheet1").Select
End Sub
のようになってるのかな?
これだったら設定後のA6セルの値を見るんで大丈夫だと思うけども。

【75811】Re:ブックの共有時のハイパーリンク使用
お礼  ゆーあ  - 14/7/9(水) 15:35 -

引用なし
パスワード
   ▼独覚 さん:

コメントありがとうございます。
まさに、こっちの

>Private Sub CommandButton6_Click()
>  Dim ACR    As Long
>  Dim WK_Link  As String
>  Dim WSH
>
>  ACR = ActiveCell.Row
>  
>  Cells(ACR, 6).Select
>  
>  ActiveCell.FormulaR1C1 = "=HYPERLINK(RC[-5],RC[-5])"
>  WK_Link = Cells(ACR,6).Value
>  If Cells(ACR,1) = "" then
>    Cells(ACR, 6).ClearContents
>    Exit Sub
>  End If
>  Set WSH = CreateObject("Wscript.Shell")
>  WSH.Run WK_Link, 3
>  Set WSH = Nothing
>
>  Worksheets("Sheet1").Select
> End Sub

のようになってますよ。
私がコードをのせれば良かったんですね。。。
配慮が足らず申し訳御座いません。

でも、これでやっぱりまっるとOKってことですよね。
良かったです!ありがとうございます!

1183 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free