データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ
> ハイパーリンクの値が変わっていない事は確認できました。
念の為の確認ですが、シート内で「ハイパーリンクの編集」にてアドレス(URL)が
一文字も変わっていないという事でしょうか?
tool.xlsmが複数の場所に登録されていて、起動したtool.xlsmが違うという事は無いですか?
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
Excelブックにシェアポイントに格納したブックのパス(URL)を登録し
印刷するツールを作成したのですが 格納したブックの古いバージョンのものが印刷される事があります。
常に 格納したブックの通り印刷できる方法をご存知ないでしょうか?
【やっていること】
・ブック(tool.xlsm)のシートにシェアポイントに格納してあるブック(document.xlsx)のURLを記入する
・tool.xlsm の VBAにより workbooks.opne を使用し document.xlsx を開き、print で印刷
【正しく印刷できない理由と思われること】
・document.xlsx は 以下に登録している。 https://myproject/site/folder1/document.xlsx
・document.xlsx を更新する場合はシェアポイント上でブックをコピー後、更新前のブックはoldフォルダへ移動している
①https://myproject/site/folder1/document.xlsx をコピー
フォルダ内
https://myproject/site/folder1
├document.xlsx
├document1.xlsx
②https://myproject/site/folder1/document.xlsx を移動
フォルダ内
https://myproject/site/folder1
├document.xlsx ← document1.xlsx の内容を修正し名前を変更 (印刷したいドキュメント)
├old ← 旧ドキュメント格納フォルダ
├document_v01.xlsx ← document.xlsx の名前を変更し保存
・ブックには https://myproject/site/folder1/document.xlsx を登録しているが
https://myproject/site/folder1/old/document_v01.xlsx を開いて印刷しているように見える
データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。
> ハイパーリンクの値が変わっていない事は確認できました。
念の為の確認ですが、シート内で「ハイパーリンクの編集」にてアドレス(URL)が
一文字も変わっていないという事でしょうか?
tool.xlsmが複数の場所に登録されていて、起動したtool.xlsmが違うという事は無いですか?
回答ありがとうございます。
ハイパーリンクの値が変わっていない事は確認できました。
調べてみた所、 Excel キャッシュの設定により発生するのでは?と推測しました。
実行前にキャッシュクリアを実施するようユーザーへ説明してみます。
> 更新前のブックはoldフォルダへ移動している
> document.xlsx の名前を変更し保存
あなたの操作指示に従った、想定できる仕様通りの挙動の様ですね。
考え方として、①操作手順の誤り、②運用方法を無視したマクロコーディング の双方でしょう。
> https://myproject/site/folder1/document.xlsx を移動
その時点で、ハイパーリンクの参照先は OLD配下。
> document.xlsx の名前を変更し保存
さらにファィル名の改名により、document_v01.xlsxが参照先へ変更。
その結果、https://myproject/site/folder1/old/document_v01.xlsx を参照します。
マクロソースを見なくても、tool.xlsm内に仕込んだハイパーリンクのURLを再確認して下さい。
その通りの挙動になっている筈です。
以下、実施してリカバリーするしかないでしょう。
・tool.xlsm内に仕込んだハイパーリンクを https://myproject/site/folder1/document.xlsx に再設定
・oldへバックアップするのは原本をコピーした document1.xlsx
・ハイパーリンクの取得方法は、色んな考え方があるので何とも言えませんが、
運用に応じて、① 現状通り リンクURLを取得、② リンク文字をURLとして取得
> https://myproject/site/folder1/old/document_v01.xlsx を開いて印刷しているように見える
マクロでやっているのですよね。
見えるではなく、きちんと確認してみて下さい。
マクロ内でいくらでも確認できますよね? (例えば、Debug.printで情報を残すとか。)
VBA(マクロ)の公式サポート場所は、海外コミュニティとなっています。
有識者が集まっている所の方が、適切なアドバイスを受けやすいでしょう。
[VBA プログラミングに関する質問]
Stack Overflow には、説明的なタイトル、完全で簡潔な問題ステートメント、問題を再現する
ための十分な詳細の要求などのガイドラインがあることに注意してください。
機能要求または過度に広範な質問は、トピック外と見なされます。
新しいユーザーの場合は、Stack Overflow ヘルプ センター にアクセスして詳細を確認して下さい。
※ 閲覧者・回答者が多い公式サポートサイトをお勧めします。
英語で質問を送信してください。