
ワード2010に、エクセル2010のワークシートを埋め込みました。
それを2組(AとB)作りました。
そしてそれらをまず「フォルダー1」に入れ、更に「フォルダー2」に入れました。
ここで例えばAの計算結果をBに反映させるため、Bにリンク貼り付けを行ったとします。
その結果、Bのリンク場所のセルをクリックすると次のような内容が表示されます。
='[C Users taka Desktop フォルダー 2 フォルダー1 文書1.docx の ワークシート]Sheet1'!$A$10
けれどもこれだと、別のパソコンや、別のフォルダーに「フォルダー2」を移した場合、すぐに反映されなくなってしまいます。
この問題を回避するには、どのようにすれば良いのでしょうか?
No.3ベストアンサー
- 回答日時:
No.2の回答者です。
複数のオブジェクトの意味を理解していないようなので、もう少し
具体的に説明しますね。
(長文ですので、結論を知るなら最後に書いてあります)
[オブジェクト]としての[ Excel WorkSheet ]を埋め込んだ場合、
Word内部では「文書名.docx の ワークシート」というブック名の
オブジェクトとして埋め込みます。
(これを右クリックして[ WorkSheet オブジェクト]→[ Open ]で
タイトルバーにブック名が表示されている)
別のオブジェクトとして挿入した[ Excel WorkSheet ]も同じ名前
になっていますが、内部では別のオブジェクトになります。
それぞれのシートで参照しあうと、数式バーにはパスとブック名の
付いた参照になります。
=[文書パス フォルダー名 文書名.docx の ワークシート](シート名!)セル番号
一方、同じオブジェクト内で別シートを追加して、そのシートから
参照した場合は、ブック名のない参照になります。
=(シート名!)セル番号
これは通常のExcelでも同じなので理解しやすいと思います。
同じオブジェクトであればブック名が付かないので、コピーをして
表示部分だけ違うものを、それぞれの場所に貼り付けて配置をする
ことで、ブック間のリンクと違ってWord文書の保存場所変更の影響
が受けにくいということになります。
ここまでは、オブジェクトについての説明でした。
ここからは、用意したExcelブックへの[リンク貼り付け]について
説明します。
例えば別に用意したブック内に管理費として一覧を作るとします。
そのまま、範囲選択して貼り付けるとページをまたぐ場合がある
ときには、範囲を分けてコピーしますよね。
このとき[形式を選択して貼り付け]で[リンク貼り付け]を選択し、
[ Microsoft Excel ワークシート オブジェクト]を選択して[ OK ]
すると、[埋め込みオブジェクト]と同じ貼り付けができます。
[リンク貼り付け]したものは、Excel内で編集し更新をすることで
反映しますので、作業が効率的になります。
[埋め込みオブジェクト]と[リンク貼り付け]したものとの違いは、
フィールドコードを表示してみれば分かります。
埋め込みオブジェクト
{ EMBED Excel.Sheet.12 }
リンク貼り付け
{ LINK Excel.Sheet.12 "保存先パス\\ファイル名.xlsx" "Sheet名!R1C1:R11C10" \a \p }
[埋め込みオブジェクト]の場合、オブジェクト名のExcel.Sheet.12
のような単純なものですが、[リンク貼り付け]ではオブジェクト名
とブックパス+sheet名+セル範囲+スイッチの形式になっています。
[リンク貼り付け]のほうは、Word文書を開くときにリンクの更新を
確認するようになっているので、内容が変わっても対応できますし
リンク先も修正されます。
[埋め込みオブジェクト]では、コピーしてそのまま貼り付けても、
それぞれのオブジェクトはリンクしません。
数式バーの表示は、同じシート内であっても更新する設定にならず
同じ内容のままになります。貼り付け先の修正でも同じです。
リンクしたい場合は、元のオブジェクトで範囲選択してコピーをし
リンク貼り付けとして利用するしかありません
これだと、内部オブジェクトでも外部オブジェクトでも同じなので
どちらを使っても変わらないということになります。
内部オブジェクトだと、他者が編集するときに困る場合があります。
どれがリンク元のオブジェクトなのかを判断できないためです。
外部オブジェクトであれば、そのファイルを修正すれば済みます。
ですから、[リンク貼り付け]の場合には外部オブジェクトのほうが
トラブルが少ないと思います。
結局は[リンク貼り付け]以外は外部に渡した場合リンクしないのと、
オブジェクトから複数挿入したものは別のオブジェクトであるという
ことを理解してください。前の質問でも回答した、単純にコピーして
貼り付けも、[数式バー]で短い表示になっていても、それぞれは独立
したオブジェクトの扱いになりますので、一つを修正しても、コピー
してものは修正されませんので、無意味になります。
[リンク貼り付け]を使った作業をすることをお勧めします。
>例えば別に用意したブック内に管理費として一覧を作るとします。
>そのまま、範囲選択して貼り付けるとページをまたぐ場合がある
>ときには、範囲を分けてコピーしますよね。
>このとき[形式を選択して貼り付け]で[リンク貼り付け]を選択し、
>[ Microsoft Excel ワークシート オブジェクト]を選択して[ OK ]
>すると、[埋め込みオブジェクト]と同じ貼り付けができます。
>[リンク貼り付け]したものは、Excel内で編集し更新をすることで
>反映しますので、作業が効率的になります。
知識が少なかったので、難しかったですが、実際にやってみました。
確かに、新しいフォルダーに入れても、ちゃんと変更が反映されますね。
これなら、環境が変わっても、安心できそうです。
今後作成する際は、この方法でやっていこうと思います。
とても丁寧に教えて頂き、感謝いたします。
再びのご回答、ありがとうございました。
No.2
- 回答日時:
前にも書きましたが、オブジェクトを複数使っているためです。
https://oshiete.goo.ne.jp/qa/10976116.html
Word文書内へと、複数のオブジェクトとしてのExcelシートを挿入
すると、それぞれのシートにある値を参照したときにはWordのパス
とオブジェクト名の[ ]で挟まれた名前の付いたパスが表示されて
参照するようになります。
[文書パス フォルダー名 文書名.docx の ワークシート]
同じWord内であっても、別のオブジェクトとして挿入しているため
ですので、このような長い名称が付くのです。
回避方法:
エクセルシートのオブジェクトを一つにして、その中で参照をする
範囲をすべて作ります(シート分けしてもOK)。
Word内で別の範囲を表示したい場合には、コピーを貼り付けてから
編集で範囲を指定しなおして、コピーしたものを閉じます。
これで、別範囲として表示されていても、同じオブジェクトとして
数式バーには(シート名!)セル番号のみの表示になります。
個人的には、同じフォルダ内に別ブックとして用意したExcelシート
から、リンク貼り付けしたものを利用するほうが、修正なども簡単に
なりますから、お勧めの設定だと思っています。
以前は、大変お世話になりました。
早速のご回答、ありがとうございます。
>回避方法:
>エクセルシートのオブジェクトを一つにして、その中で参照をする
>範囲をすべて作ります(シート分けしてもOK)。
>
>Word内で別の範囲を表示したい場合には、コピーを貼り付けてから
>編集で範囲を指定しなおして、コピーしたものを閉じます。
>
>これで、別範囲として表示されていても、同じオブジェクトとして
>数式バーには(シート名!)セル番号のみの表示になります。
リンク貼り付けはしない、ということですね。
私の質問にある最初のやり方だと、「自動的」みたいな感じになるので、それも良かったのですが。
両立は難しいのですね。
>個人的には、同じフォルダ内に別ブックとして用意したExcelシート
>から、リンク貼り付けしたものを利用するほうが、修正なども簡単に
>なりますから、お勧めの設定だと思っています。
リンク貼り付けをすると、結局「='[C Users taka Desktop フォルダー 2 フォルダー1 文書1.docx の ワークシート]Sheet1'!$A$10」と同じようなことになるのではないですか?
No.1
- 回答日時:
一つのフォルダに Word のファイルと リンク貼り付けされる Excel のファイルを置いて、
そのフォルダを配布すれば良い。
・・・
質問者さんのパソコンのCドライブのデスクトップフォルダが、ファイル共有設定されていないことが原因です。
正直、そんな場所をファイル共有させちゃダメ。
ならば、対策は2通り。
1つは安全な場所にフォルダを作り、そこをファイル共有する。そしてそこに Excelファイルを置く。
もう一つは、前述のように一緒に配布する。
早速のご回答、ありがとうございます。
>一つのフォルダに Word のファイルと リンク貼り付けされる Excel のファイルを置いて
私の埋め込みファイルの作り方は・・・
①ワードの新規作成
②「挿入」をクリック
③「オブジェクトの挿入」をクリック
④「Microsoft Excel ワークシート」「OK」をクリック
・・・で作成しています。
そしてそれを「フォルダー1」に入れています。
つまり、「一つのフォルダに Word のファイルと リンク貼り付けされる Excel のファイルを置いて」いることになると思うのですが、違うのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Excel(エクセル) トラストセンターから信頼できる場所の登録 1 2022/07/04 21:04
- Excel(エクセル) Excel VBA 3 2023/04/22 10:46
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) 別ブックの列同士の値が一致したときの処理 1 2022/09/03 08:27
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける 3 2022/09/10 07:55
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- PDF ハイパーリンク先の一括変更について 2 2022/03/23 08:13
- Visual Basic(VBA) 指定月分の顧客データファイルを統合して並べ替え、所定の場所に貼り付ける (再質問) 4 2022/09/14 22:51
- Google Drive Googleドライブでのファイルの移動 2 2022/11/01 14:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
大学のレポート A4で1枚レポー...
-
【Excel VBA】PDFを作成して,...
-
エクセルで英文字に入れた下線...
-
マクロ自動コピペ 貼り付ける場...
-
英数字のみ全角から半角に変換
-
別シートの年間行事表をカレン...
-
Office2021を別のPCにインスト...
-
outlookのメールが固まってしま...
-
Office 2021 Professional Plus...
-
エクセルで特定のセルの値を別...
-
MSオフィス2013にMS365が上書き...
-
Microsoft365について
-
Microsoft Formsの「個人情報や...
-
エクセルVBAで1004エラーになり...
-
office2019 のoutlookは2025年1...
-
表の作成について
-
Excel テーブル内の空白行の削除
-
MicrosoftOfficeの1ユーザー2...
-
エクセルでXLOOKUP関数...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft Officeを2台目のPCに...
-
英数字のみ全角から半角に変換
-
Office2021を別のPCにインスト...
-
エクセル ○○以上○○以下の関数を...
-
Office 2021 Professional Plus...
-
会社PCのメールが更新されない
-
outlookのメールが固まってしま...
-
Excelデータで必要な部分だけを...
-
表の作成について
-
マイクロソフト 一時使用コード...
-
エクセル ○○以上○○以下で、条件...
-
データの文字コードを確認するには
-
【Excel VBA】PDFを作成して,...
-
別シートの年間行事表をカレン...
-
office365って抵抗感ないですか?
-
office2019 のoutlookは2025年1...
-
Microsoft Formsの「個人情報や...
-
マクロ自動コピペ 貼り付ける場...
-
エクセル 関数の数値の入れ方を...
-
エクセル すべて+5をしたい
おすすめ情報