
「改ページプレビュー」ボタンを無効にする方法
はじめまして。
Access側からVBAで、Excelのファイルのシートを
印刷プレビュー画面として表示させることにしています。
(バージョンはOffice2002です。)
====================================
Private Sub cmd01_Click()
Dim xls As Object 'Excel.Application
Dim wkb As Object 'Excel.Workbook
Set xls = CreateObject("Excel.Application")
Set wkb = xls.Workbooks.Open(FileName:="C:\TEST01.xls", ReadOnly:=True)
xls.Visible = True
xls.UserControl = True
wkb.PrintPreview EnableChanges:=True
xls.Workbooks.Close
Set wkb = Nothing
Set xls = Nothing
End Sub
====================================
印刷プレビュー画面の表示までは一応できているのですが、その際、
画面に表示されているボタン、特にその中でも
「改ページプレビュー」ボタンを無効にする方法がわかりません。
いろいろと調べても指定方法はわからず、ネットで検索しても、このボタンの
制御方法に言及しているサイトは1つか2つぐらいなので、もしかしたら
このボタンのVBAでの制御方法は公開されていないのかと思ってしまうほどです。
Excel2007では、印刷プレビュー画面において「改ページプレビュー」ボタン
は最初から表示されず無くなっていますので、一般には意識されていないのかも知れま
せん。
唯一見つかったサイトでのコーディングでは、コールバック関数形式も使って
説明されていましたが、それを試してみてもどうしてもこのボタンを無効にする事が
できませんでした。
「設定」ボタンと「余白」ボタンは無効にできますが、その方法では他のボタンの
制御には適用できないようなコーディングになっているので、行き詰まっています。
どなたか、Excelの印刷プレビュー画面(2007より前)における
「改ページプレビュー」ボタンを、VBAによって無効にする方法があれば、
教えていただけないでしょうか。
どうかよろしくお願い致します。
No.2ベストアンサー
- 回答日時:
>フリーズの原因でも判ればいいのですが、なかなか困難そうです。
コードの提示があれば、他の方からも有益なアドバイスがあるかもしれません。
何分、私は素人なものですから、AddressOf演算子を用いたコールバック処理に関するテーマは躊躇してしまいます。
今の情報だけで言える事は、エラー制御はしっかりやっておいたほうが良いですよ、という事につきます。
最低でも
:
TimerId = SetTimer(0&, 0&, 10&, AddressOf TimerProc)
On Error Resume Next
Sheet1.PrintPreview
On Error GoTo 0
KillTimer 0&, TimerId
:
のようにOn Error Resume Next ステートメントの記述は必須でしょうね。
別案件ですが参考。
http://www.h3.dion.ne.jp/~sakatsu/Excel_Tips15.htm
『エクセルでは、コールバックで呼ばれた処理の中で「実行時エラー」が発生し中断するとクラッシュする可能性があります。』
『仕組みを充分に理解した上で 『 自己責任 』 において行なってください。』
end-u様
再び、有用なアドバイスをどうも有り難うございました。
今回の現象の克服如何に関係なく、
いただいたご忠告をこれから生かしていきたいと思います。
いただいた回答の内容からも、end-u様は堅実な手法を採って
おられるのが伝わってきます。
個人的には、とても頼りになる方だなと感じました。
また何かあれば、お力を貸していただければとても助かります。
その時は、ご迷惑かも知れませんが、どうかよろしくお願いします。
本当にどうも有り難うございました。
No.1
- 回答日時:
>唯一見つかったサイトでのコーディングでは、コールバック関数形式も使って
>説明されていましたが、それを試してみてもどうしてもこのボタンを無効にする事が
>できませんでした。
http://homepage2.nifty.com/kmado/kvba.htm
このサイトでしょうか。
ExcelVBA側で実行してみるとどうでしょう。
おそらく成功するのではないかと思います。
AccessVBA側からだと修正が必要になりますね。
私も試してみましたが、どうもうまくいきません。
取りあえずはExcelBook側にコードを置いて、
Bookを開いたら
xls.Run "TEST01.xls!testProcedure"
みたいな手法もありますが。
そういった仕様では無理がある場合、他の方のレスもお待ちください。
end-u様
早速の回答をどうも有り難うございました。
まず、参考にしていたサイトは、ズバリご指摘の通りのサイトです。
そこでのコーディングを参照していろいろと検討していたところです。
今回、end-u様に薦めてもらった通り、Excel側にコーディング
して試してみたところ、意図していた機能を実現する事ができました。
「改ページプレビュー」ボタンだけを狙い撃ちにして無効にすること
に成功したのです。
これはまさに“目からウロコ”といったところで、とても感謝する
ところです。
有用な助言を誠に有り難うございました。
一点、問題点は残っていて、このExcelファイルをAccess側
からキックして表示しようとすると、アプリケーション自体がフリーズ
して、双方応答なしの状態になってしまいます。
Excelファイルは開かれず、Accessも反応しなくなります。
デリケートな領域で制御しているということなのでしょうか。
フリーズの原因でも判ればいいのですが、なかなか困難そうです。
いずれにせよ、今回のend-u様のご助言には心から感謝しています。
本当に有り難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Excel(エクセル) Excel のヘルプ文の印刷 1 2023/06/07 11:17
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB.net webアプリケーション 戻...
-
VC++にてボタン等のサイズ取得
-
この数字は何?
-
検索ボタンなどに使う虫眼鏡の...
-
resetボタンの判別
-
メールの[メッセージの作成]画...
-
WordPressで1回だけ表示可能な...
-
ipodnanoの画面が真っ暗です!!
-
media playerを全画面表示にす...
-
HTMLで投票ボタンを作りたい
-
Web画面の自動更新ボタンを押し...
-
「改ページプレビュー」ボタン...
-
ボタンの背景色を変更する方法
-
これはなんとゆってるんですか?
-
eclipceでのandroidアプリ
-
チェックボックスの値を次画面...
-
フォルダーに緑のレ点と赤の✖が...
-
簡易ガンマ設定ツールの代替
-
パソコンにこんな画面が出てく...
-
回復ドライブに保存されるもの
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.net webアプリケーション 戻...
-
VC++にてボタン等のサイズ取得
-
子画面を読んだ後親画面のRecor...
-
ボタンの背景色を変更する方法
-
Web画面の自動更新ボタンを押し...
-
検索ボタンなどに使う虫眼鏡の...
-
画面の右上の×をキーボードで操...
-
FLASHで動画と再生などのコント...
-
メールの[メッセージの作成]画...
-
「改ページプレビュー」ボタン...
-
eclipceでのandroidアプリ
-
media playerを全画面表示にす...
-
HTMLで投票ボタンを作りたい
-
xampp Apacheの「Admin」の管理...
-
これはなんとゆってるんですか?
-
WordPressで1回だけ表示可能な...
-
チェックボックスの値を次画面...
-
ipodnanoの画面が真っ暗です!!
-
oppo reno 7A
-
フォルダーに緑のレ点と赤の✖が...
おすすめ情報