• 締切済み

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 もまったく働きません。 どうやったら終了できますか?

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

私も実験できる環境にありませんが (^^ゞ 下記リンクとその先のリンクが参考になるかもです。 http://www.tohoho-web.com/lng/g200006/00060005.htm 要するにファイルのアドレスを UNC名で与えてやれば回避できるのでは?(開き方で回避できそうな?) http://gooSerber/files/are.xls → \\gooServer\files\are.xls とかで・・ XLSファイルをどのようにして開いているか分かりませんけれども。 アクセス権の絡みもありそうなのでサーバの管理者とも要相談かも? 見当違いも甚だしかったらご容赦を。

merlionXX
質問者

お礼

> XLSファイルをどのようにして開いているか分かりませんけれども 単にイントラに添付してあるXLSファイルをダブルクリックしているだけです。これでインターネットエクスプローラでエクセルのワークシート画面が表示されます。 > http://gooSerber/files/are.xls → \\gooServer\files\are.xls とかで・・ この\\gooServer\files\are.xls のSheets("Sheet1")を PrintPreviewするというのはどう書くのでしょう? Sheets("Sheet1").Select Range("A1").Select は、ちゃんと働いてくれるのですが・・・・

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

この辺のネット環境での問題になると、当方ではテストもままならず 知識としても自信のないところですので、見当違いの場合はご勘弁を。 Active(Workbook,Sheet)というのが出てきているが、これが問題ではないでしょうか。 我が家の中で「お父さん」というのはすぐ判って良いが、世間では「加藤家の加藤四郎」といわないとダメなようなたとえのこと。 ネットワークの部分も含めて、フルパスでファイル指定し、確実に存在するファイルをVBAで開いてみて、開くかどうかやってみてはどうでしょう。 もしうまく開いた場合には、質問のコードを付け加え実行するとどうなるでしょう。 エクセル以外の他世界からエクセルを使うときはオブジェクトに必ずエクセルのオブジェクト名objExlなどを添えるイメージから思いついたもの。

merlionXX
質問者

お礼

さっそく有難うございます。 MsgBox ThisWorkbook.ActiveSheet.FullName で、http://~以下、途中略~/ファイル名.xls までは取得できました。 そのファイル名のBOOKのアクティブなシートをプレビューするというのはどのようなコードになるのでしょうか?

merlionXX
質問者

補足

すみません、MsgBox ThisWorkbook.FullName の間違いでした。 MsgBox ThisWorkbook.FullName でhttp://~以下、途中略~/ファイル名.xls までは取得できました。

関連するQ&A