プロが教えるわが家の防犯対策術!

必要があり、地方にあるパソコンの Office (VBAプログラム) を東京の事務所から実行しています。
10年以上、毎日実行を続けて、ほとんど問題なく過ごしてきました。

方法はリモートデスクトップを使う方法もありますが回線が細く、かつ複数人数の同時使用のため、TELNET を使いコマンドプロンプト (CUI) で ExcelやAccess を起動しています。
その実行中の画面は、通常であれば見る必要が無く、実行結果だけを受け取っています。
しかしトラブルがあったときは、実行中の画面を見たくなります。

以前、パソコンが Windows xp の時は、ごくまれにトラブルが起きた時、リモートデスクトップを開けばTELNETで起動し実行中の画面がそのまま表示され、状況確認が出来ましたが Windows 7 になってからは表示されなくなってしまいました。

そのためトラブルの再現性が少ない時、原因究明ができなくなってしまいました。

もし Windows 7 で TELNET で起動したOffice (VBAプログラム) の GUI画面を表示する方法がありましたら、教えて下さい。
なお TELNET のユーザーとリモートデスクトップのユーザーIDを同じにしても、実行中のGUI画面は表示されません。

A 回答 (2件)

直接的に見る方法は現実的な方法ではありません。


VBAのエラーはどこまで行ってもアプリケーション内エラーですのでサービスホストで取得できる例外まで持ってゆく事が難しいです。

方向性がやや変わりますが解決方法になりますが以下のような方法を提案いたします。

■解決方法1
エラーが起こった場合原因を標準出力またはファイルに出力するようにマクロを修正する。
「VBA 標準出力」等で検索するとよいかと思います。
利点:エラーが起きた時そのものが見れる、どんなデータを処理していたか今まで以上に多くのエラー情報を出力できる
欠点:新たな不具合を作りこむ可能性がある

■解決方法2
問題が起き解析が必要になった時点でリモートデスクトップで同じマクロを再実行する。
利点:マクロに対して変更が不要
欠点:既存マクロがエラー発生時のデータクリア不足の場合、ジャンクデータを今まで以上に生成する危険がある
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
解決方法には、それぞれ欠点があるようですね。
VBAの中にファイルへのログ出力を大量にするアイデアは考えましたが、大変手間がかかるのと、ご提案のように欠点があります。

グチになってしまい申し訳ありませんが Windows xp の時は、こんな事で悩むこともなかったのでセキュリティのためとはいえ、OS の仕様変更を勝手にしてしまう Microsoft さんが嫌いになってしまいます。

お礼日時:2016/04/30 13:31

こちらを参考にしてみてください。


http://freesoft-100.com/pasokon/remote_control.h …
    • good
    • 0
この回答へのお礼

ご回答をありがとうございます。
このソフトは、リモートデスクトップと似たような機能ですね。
リモートデスクトップは現在も使っております。
ただ 10年前に作られた、現在毎日使っているシステムはキャラクターベースですので、システムそのものを作り直さない限りは TELNETでの運用です。

すみませんが質問の主題は TELNET で実行中の画面を「リモートデスクトップ」側で見たいという意味です。

新しい OSでは問題がおこることはマイクロソフト社も、告知しています。
(ゼッション 0 の分離による問題)
https://msdn.microsoft.com/ja-jp/windows/dd87115 …

c言語プログラムでの解決方法はあるようですが VBA を手直ししての解決方法、または何か OSの設定を変えることによる解決方法を望んでいます。

よろしくお願いします。

お礼日時:2016/04/25 16:34

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