- 締切済み
Web上のエクセルのVBA操作について
OSはWin2000、エクセルも2000です。 社内のイントラネット上にエクセルのBOOKを置いてあります。 ダウンロードせずにダブルクリックでイントラ上で開いたこのBOOKに対するVBA操作で、以下の3つを試しましたが、すべてエラーになり、プレビューすることができません。 どう直せばよいのでしょうか? Sub test() ActiveSheet.PrintPreview End Sub Sub test2() ThisWorkbook.ActiveSheet.PrintPreview End Sub Sub test3() x = ThisWorkbook.ActiveSheet.Name ThisWorkbook.Sheets(x).PrintPreview End Sub また Sub 終了() ActiveWorkbook.Close (False) End Sub もまったく働きません。 どうやったら終了できますか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- nicotinism
- ベストアンサー率70% (1019/1452)
私も実験できる環境にありませんが (^^ゞ 下記リンクとその先のリンクが参考になるかもです。 http://www.tohoho-web.com/lng/g200006/00060005.htm 要するにファイルのアドレスを UNC名で与えてやれば回避できるのでは?(開き方で回避できそうな?) http://gooSerber/files/are.xls → \\gooServer\files\are.xls とかで・・ XLSファイルをどのようにして開いているか分かりませんけれども。 アクセス権の絡みもありそうなのでサーバの管理者とも要相談かも? 見当違いも甚だしかったらご容赦を。
- imogasi
- ベストアンサー率27% (4737/17069)
この辺のネット環境での問題になると、当方ではテストもままならず 知識としても自信のないところですので、見当違いの場合はご勘弁を。 Active(Workbook,Sheet)というのが出てきているが、これが問題ではないでしょうか。 我が家の中で「お父さん」というのはすぐ判って良いが、世間では「加藤家の加藤四郎」といわないとダメなようなたとえのこと。 ネットワークの部分も含めて、フルパスでファイル指定し、確実に存在するファイルをVBAで開いてみて、開くかどうかやってみてはどうでしょう。 もしうまく開いた場合には、質問のコードを付け加え実行するとどうなるでしょう。 エクセル以外の他世界からエクセルを使うときはオブジェクトに必ずエクセルのオブジェクト名objExlなどを添えるイメージから思いついたもの。
お礼
さっそく有難うございます。 MsgBox ThisWorkbook.ActiveSheet.FullName で、http://~以下、途中略~/ファイル名.xls までは取得できました。 そのファイル名のBOOKのアクティブなシートをプレビューするというのはどのようなコードになるのでしょうか?
補足
すみません、MsgBox ThisWorkbook.FullName の間違いでした。 MsgBox ThisWorkbook.FullName でhttp://~以下、途中略~/ファイル名.xls までは取得できました。
お礼
> XLSファイルをどのようにして開いているか分かりませんけれども 単にイントラに添付してあるXLSファイルをダブルクリックしているだけです。これでインターネットエクスプローラでエクセルのワークシート画面が表示されます。 > http://gooSerber/files/are.xls → \\gooServer\files\are.xls とかで・・ この\\gooServer\files\are.xls のSheets("Sheet1")を PrintPreviewするというのはどう書くのでしょう? Sheets("Sheet1").Select Range("A1").Select は、ちゃんと働いてくれるのですが・・・・