アプリ版:「スタンプのみでお礼する」機能のリリースについて

初心者です。
マクロはわからないので、「CTRL+K」で出した「ハイパーリンクの編集」画面の操作を教えてください。

エクセル表で、大量のセルに別々のハイパーリンクを貼る作業中です。
関連するPDFがあるフォルダにそれぞれ飛ばしています。

その目的フォルダが深い階層にあって、「ハイパーリンクの編集」画面で辿るのが大変です。
なのに、次のセルの「ハイパーリンクの編集」で、また初め(エクセル表がある場所)から辿らないといけません。

「ハイパーリンクの編集」で前回の状態をひきつぐ方法はないでしょうか。
よろしくお願いします。

A 回答 (2件)

前回、回答したものです。


中々レスが付きませんね。余計なお世話ですが、VBA(マクロ)で作ってしまいました。
Excel 2002 以降のバージョンなら機能するはずです。※IMEが起動中も機能しません

手順
安全性を考慮して現在使用中のファイルを別名保存してコピーを作ります
オリジナルは閉じてください
そのコピーの方で、Alt + F11 を押してVBEの画面を出します。
Alt + I でプルダウンメニューから標準モジュールを選択
新たなウィンドウが開きますので
後述のモジュールを全てコピペします。
Alt + D を押して、VBAProject のコンパイルを選択します。
何もエラーが出なかったら、\(^o^)/ 。(出たらそのメッセージを教えて)

Alt + F11 を押してExcelの画面に戻ります。
バージョンがExcel 2002/2003 ならそのまま上書き保存します
2007以降なら、名前を付けて保存からファイルの種類をマクロ有効ブック(xlsm)にて保存
ファイルを閉じます
ファイルを開く時にマクロを有効にしますか?確認がありますので有効にしてください

適当なセルを選んで、Alt + k を押せばファイル選択画面が出ますので
PDFファイルを選択してください
ハイパーリンクがセルに設定されます
次回の Alt + k からは直前のフォルダが初期フォルダになります
↓この下からコピペ

Private strPrevious As String 'フォルダパスを記憶

Sub auto_open()
'Alt + k (K) を有効にします ファイルを開いたときに自動的に働きます
  Application.OnKey "%K", "setHyperLink" '大文字小文字区別
  Application.OnKey "%k", "setHyperLink" '大文字小文字区別
End Sub

'Sub altKset()
'  Application.OnKey "%K", "setHyperLink"
'  Application.OnKey "%k", "setHyperLink"
'End Sub

Sub altKdel()
'Alt + k (K) を無効にします
  Application.OnKey "%K", ""
  Application.OnKey "%k", ""
End Sub

Private Sub setHyperLink()
'Alt + k(K)を押した時に呼び出されるように、auto_open で設定してます
  Dim Dlg As Object
  Const msoFileDialogFilePicker As Integer = 3 '4
  Dim sTmp As String

  Set Dlg = Application.FileDialog(msoFileDialogFilePicker)
    With Dlg
      .InitialFileName = strPrevious     '初期検索先指定
      .Title = "ファイル選択 (複数選択不可)"
      .AllowMultiSelect = False       '複数ファイル選択の可否
      .Filters.Clear             'フィルタの初期化
      .Filters.Add "すべてのファイル", "*.*"
      .Filters.Add "Acrovat PDF", "*.pdf"
      .FilterIndex = 2            '初期選択フィルタの設定
      .ButtonName = "選択"          'ボタンの表示文字列の設定
      'キャンセル時にはShowメソッドは0(Long型)を返す
       If CBool(.Show) Then
        '選択ファイルのパスの取得
        sTmp = .SelectedItems(1)
       Else
         sTmp = ""
         Exit Sub
       End If
     End With
    
  ActiveCell.Value = sTmp
  ActiveCell.Hyperlinks.Add ActiveCell, sTmp
  strPrevious = CreateObject("Scripting.FileSystemObject").getParentFolderName(sTmp)
  
  If strPrevious <> "" And Right(strPrevious, 1) <> "\" Then
    strPrevious = strPrevious & "\"
  End If
End Sub
    • good
    • 0
この回答へのお礼

マクロを考えてくださってありがとうございます。
エラーはでなかったのですが、変化はありませんでした。
(いちから辿る画面になってしまいました)
セキュリティを高→中に下げてみたのですが。
これは私(派遣社員)に権限がないからかもしれません。

親切に作成くださったことに大変感謝しています。
ありがとうございます。

お礼日時:2012/03/19 10:32

一応、念のためにWindowsXP + Excel2002 + 制限付きアカウント


で試しましたが、問題なく機能しました。
作成自体はWindows7 + Excel2010ですけどね。

もしかして、Ctrl + k で行ってません?
Alt + k ですよ。

これで機能しないのなら降参です。
    • good
    • 0
この回答へのお礼

おっしゃるとおり、ctrl+Kを押していました。
Alt+Kでできました。
自動的にPDFが開いてびっくりしました。
とても便利です。
ありがとうございました!

お礼日時:2012/03/29 17:30

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