プロが教える店舗&オフィスのセキュリティ対策術

Excelで埋め込んだPDFを開く

Acrobat7で作成したPDFを、Excelファイルに下記の操作で埋め込みました。
Excel2003で、「挿入」「オブジェクト」「ファイルから」

埋め込んだPDFをダブルクリックで開こうとすると、
「このオブジェクトの作成元アプリケーションを起動できません。」とメッセージが出ますが、
Acrobat7で開いてくれます。
しかし、キーワード検索して検索結果をクリックしてもそのページに飛びません。

Reader9を起動したまま、埋め込んだPDFをダブルクリックすると、起動しているReader9で開きます。
検索も正常です。

PDFの関連付けはReader9になっていて、デスクトップにあるPDFを単体で開くときはReader9になります。
Excel内のPDFをReader9で開く、Acrobat7でも正常に開く、どちらかにする方法はあるでしょうか?

A 回答 (5件)

>前の質問の時と同じように、二つとも削除してReader9入れてからAcrobat7入れたのですが、


>エクスプローラの異常終了が起きてしまい、直らなくなってしまいました。
誠に申し訳ありません。
私の安直なアドバイスの所為ですね。深く反省致します。
そちらのほうが大きな問題で、解決しないと先に進めないですよね、済みません。
別カテゴリで改めて質問されたほうが識者の方に見て頂けるかもしれません。
adobe.comを見てみましたがこれ、といった情報は見つからないようです。
#アップデイトの適用やインストールの修復などは試されてます..よね。
http://kb2.adobe.com/jp/cps/225/225338.html
http://kb2.adobe.com/jp/cps/234/234070.html


現状の不具合が解消した後の事だと思いますが、
一応、ExcelのOLEObjectに関するレジストリ修正について書いておきます。

基本は
『Office アプリケーションのパスを調べる方法』
http://support.microsoft.com/kb/240794/ja
ここと一緒です。

Excel[挿入]-[オブジェクト]で挿入されるのはOLEObjectというものです。
pdfファイルに関連付けされてるOLEObjectのprogIDは『AcroExch.Document.7』です。
kb240794に書かれてる手順で調べると、
HKEY_LOCAL_MACHINE\Software\Classes\AcroExch.Document.7\CLSID
ここにCLSIDがあります。
{B801CA65-A1FC-11D0-85AD-444553540000}
です。
このキーを検索すると
HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{B801CA65-A1FC-11D0-85AD-444553540000}\LocalServer32
ここにOLEObject『AcroExch.Document.7』で開くプログラムのパスが書かれてますので
Reader9.0のフルパスに書き換えれば良い..はずです。
私の環境ではこれで指定できますが、他に影響が出ないかどうか、正直なんとも言えません。
..参考になれば良いのですが。
    • good
    • 1
この回答へのお礼

Reader9入れ直してもダメなら、また前回と同じ方法でインストールすれば
同じようにエラーが出なくなると思っていたので、実行しました。
アドバイスはとても参考になります。

レジストリを変更してExcelからReader9で起動できました。
バックアップは取ってあるので、もし他に何か影響が出ましたら戻します。
エクスプローラの件は、インストールし直したりしてしばらく様子をみて
解決できない場合は、別途質問する事に致します。

ありがとうございました。
 

お礼日時:2010/10/01 09:38

>ダメのようです。


んー…そうでしたか、そんな不具合が...orz
申し訳ありません。

じゃレジストリ修正について書きますが、ちょっと時間ないのでしばらくお待ちください。

この回答への補足

前の質問の時と同じように、二つとも削除してReader9入れてからAcrobat7入れたのですが、
エクスプローラの異常終了が起きてしまい、直らなくなってしまいました。

補足日時:2010/09/30 17:37
    • good
    • 0

>#他の簡単な方法があるのかもしれませんが、私にはちょっとわかりませんでした。


WinXP/XL2003/Reader9.0/Acrobat9.0
の環境で確認したところ、Reader9.0を一度アンインストールして
インストールし直せば良いようです。

>Reader9で開ければ一番良いのですが・・・
との事なので、Readerインストール時にPDFの関連付けをReader9にしてください。

インストール直後はExcel側でオブジェクトが追加できない不具合が出ましたが、
PCを再起動してレジストリが更新されれば大丈夫なようです。

この回答への補足

投稿した直後、エクスプローラ操作をしたら早速異常終了しました。
ダメのようです。

ですので、これからどちらとも削除してReader9を入れてからAcrobat7を入れます。
そうするとNo.2のお礼の状態の戻りますが。

補足日時:2010/09/30 13:18
    • good
    • 0
この回答へのお礼

ありがとうございます。
Reader9を再インストールしました。
関連付けはReader9になっていました。
Excel内のPDFを開くと、Reader9で起動します。

ただ、Reader9を入れ直したので、Acrobat7を入れてからReader9を入れた状態になりました。
下記の症状が出るか心配で様子をみてみます。
http://okwave.jp/qa/q6179609.html

さきほどReader9を削除して、Acrobat7だけが入っている状態になったとき、
エクスプローラが異常終了してしまって同じ事が起きました。

お礼日時:2010/09/30 13:15

ReaderとAcrobat混在環境で、


"Acrobat Document"オブジェクトからReaderを開くように設定するには
どうもレジストリを直接弄る必要がありそうです。
#他の簡単な方法があるのかもしれませんが、私にはちょっとわかりませんでした。

ただ、レジストリを修正する事で他に影響があるかもしれませんし、
私はそちら方面もあまり詳しくないのであまりおすすめできないかな、とも思います。
自己責任で構わないのでどうしても実現させたい、という場合は追記も考えてみます。


一応、できるだけ安全な策として別案を提示しておきます。(駄案かもしれませんが)
アイコンは表示されません。それでも構わないなら、
マクロを登録したTextBoxを追加する事で実現できそうです。
そのTextBoxを追加する事もマクロで行います。
・Excel[Alt]キー+[F11]キー同時押し。
・VBE(VisualBasicEditor)が起動。
・VBE[Alt]、[i]、[m]キーの順押し。
・標準モジュールが挿入される。
・挿入された無地のモジュール部分に以下コピーペースト。

Option Explicit

Sub pdfObjectAdd()
  Dim x As Variant
  x = Application.GetOpenFilename("pdfFiles,*.pdf")
  If VarType(x) = vbBoolean Then Exit Sub
  With ActiveSheet.TextBoxes.Add(ActiveCell.Left, ActiveCell.Top, 72, 54)
    .Text = CStr(x)
    .OnAction = "pdfOpen"
  End With
End Sub

Sub pdfOpen(Optional dummy As Boolean)
  'Reader9本体のフルパス
  Const pName = """C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe"""
  Dim fName As String
  fName = ActiveSheet.TextBoxes(Application.Caller).Text
  Shell pName & " """ & fName & """", vbNormalFocus
End Sub

'以上をコピー。
必要があればReader9本体のフルパスを修正しなければいけません。

あとは、[挿入]-[オブジェクト]の代わりに pdfObjectAdd を実行します。
VBEウィンドウ内で[F5]キーあるいはExcel[Alt]+[F8]でマクロ実行です。
使えるようなら、個人用マクロブックpersonal.xlsに置いたりツールバーに登録したりもできます。

この回答への補足

レジストリはバックアップとるので、レジストリ変更で直るなら試したいです。
検索してもなかなか見つからず、現在方法が解かりません。
よろしくお願いします。

補足日時:2010/09/30 10:03
    • good
    • 0
この回答へのお礼

Acrobat6が入っている他の端末だとAcrobat6で正常にPDFが開けるので
Acrobat7の問題かなと思いました。
そこで下記の問題で再インストールした事を思い出しました。
http://okwave.jp/qa/q6179609.html
#ちなみにその後もエラーは出ず正常です。

バージョンをみると7.0.0だったので7.1にあげました。
アップデートの有無で毎回7.1が出るのは変わりませんでしたが、
7.1にしたことで、ExcelのPDFをAcrobat7で正常に開けました。
お騒がせしてすみません。
Reader9で開ければ一番良いのですが・・・

ありがとうございました。

お礼日時:2010/09/30 11:55

Acrobat7を持ってないので検証できませんが


[挿入]-[オブジェクト]の[新規作成]タブから
オブジェクトの種類を指定して(AdobeAcrobatDocument?)挿入しても一緒でしょうか。

また、[ファイルから]挿入する時に、Reader9本体ごと指定したり。
ファイル名欄に、例えば
"C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe" "C:\test\test.pdf"
とします。

#[参照]からファイル名をセットした後に、ファイル名の前に
#"C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe" を付加します。

この回答への補足

ありがとうございます。

[新規作成]は「Adobe Acrobat 7.0 Document」がありましたが、
「アイコンで表示」をしなければAcrobat7で正常に開けました。
「アイコンで表示」で埋め込むと最初と同じ現象です。
アイコンのファイル名はC:\WINDOWS\Installer\~とありますが、フォルダは存在しません。
アイコンは表示されます。

[ファイルから]でReader9を指定した場合、「このオブジェクトの作成元アプリケーションを起動できません。」と
メッセージが出て、Acrobat7で開きます。
最初の現象と同じでした。
これも「アイコンで表示」です。

アイコンを指定する際に、Acrobat7の「Acrobat.exe」やReader9の「AcroRd32.exe」を指定して
出てくるアイコンに変更しても同じ現象でした。

「アイコンで表示」から埋め込むと出る現象のようですが、Reader9を起動したまま、
埋め込んだPDFをダブルクリックすると、起動しているReader9で正常に開きます。

補足日時:2010/09/29 10:16
    • good
    • 0

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

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