• ベストアンサー

エクセルで(メニュー)ウィンドウ→表示しない、←これをVBAで操作すると

エクセルでウィンドウ→表示しない、を操作すると 文字とおり見えなくなります ウィンドウ→再表示 をすると再び見えるようになります この操作をACCESS、  VBAで実現するにはどうすればいいでしょうか じつはACCESSVBAでエクセルファイルを取り扱い Closeし 今度手操作でエクセルファイルを開いてにると ブランクのファイルがあるのみです ウィンドウ→再表示を実行すればできますが これは前にACCESSVBAで VBAでエクセルファイルを更新し Closeして終了したときに終わるときに

質問者が選んだベストアンサー

  • ベストアンサー
  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.3

エクセルのブックの非表示のプロパティは、ファイルに保管されるプロパティです ですから、エクセルアプリケーションを非表示(バックグランド)で実行させ、ブックの非表示設定を操作してないものが多いのです ファイルを開いた時に、「再表示」の必要があるというのは、表示プロパティを「False」で、ファイル保存した結果です アプリケーションの非表示を使用して、ブックの非表示は操作しないようにすれば、問題ないのですが・・・ CreateObjectを使用すれば、既にエクセルが起動させていても、もう1つのエクセルを起動させ、バックグランドで動作します エクセルアプリケーションを表示させるのは、前回回答を出した通りなのですが・・・

maaaa
質問者

お礼

回答ありがとうございました 根本理由がわかって明確にわかりました ありがとうございました

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。Wendy02です。 前回、私が無知なために、失礼なことを書いてしまったような気がします。 今、確認しました。なぜか、その問題は発生するようですね。 やはり、GetObject で、一本釣りというところが、引っかかりますね。 前のコードに、Visible をもう一度加えても変化ありませんでした。 私は、Access 流VBAというのは、正直なところ分かりません。以下はオーソドックスですが、やはりこの方法がよいのではないでしょうか?もちろん、Visible =False でも、変化しないはずですが、あえて、見えるようにしてあります。Worksheets(1) は、該当の名前を「""」を付けて入れてください。 Sub testExcel3()   Dim xlApp As Object   Const FNAME = "Test2.xls"   Set xlApp = CreateObject("Excel.Application")   With xlApp.Workbooks.Open(FNAME)     .Application.Visible = True     .Windows(1).Visible = True     .Worksheets(1).Activate     .Worksheets(1).Cells(1, 10).FormulaLocal = Format$(Date + Time, "yy/MM/dd hh:nn")     .Save     .Close False '←False はなくてよいです。保険です   End With   Set xlApp = Nothing End Sub でも、やはり、参照設定で、Excelを設けたほうがよいと思います。

maaaa
質問者

お礼

いつも丁寧に、ご指導いただきありがとうございます 私の方は、さっと理解して、ありがとう、と言えればいいのですが これから理解に勤めます 理解したときには、飛び上がって喜んで、ありがとう、 といえるのでしょうが、それを待っていると、返事が おそくなるので、とりあえず返事しました

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

手動でできることはマクロの記録が便利です。 エクセルでは、 ActiveWindow.Visible = False Windows("***.xls").Visible = True となりました。

maaaa
質問者

お礼

回答ありがとうございます まるほど、マクロの記録、ってゆうのがあったんですね よくわかりました

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • EXCELメニューのツールにある操作をVBAで行わせたい

    EXCEL 2003のマクロ(VBA)ですが、プログラミングですので、こちらに投稿いたします。 以下の2点をVBAで実行させたく、ネットでくまなく調べているのですが、サンプルソースすら見つけられませんでした。 どなたか、ご存知の方がいらっしゃいましたら、ご教授くださいませ。 よろしくお願い致します。 ------------ ツール⇒オプション⇒セキュリティ⇒□読み取り専用を推奨する のチェックON or OFFさせた後、[OK]を実行したときと同じ操作をさせたい。 ツール⇒ブックの共有⇒□複数のユーザーによる同時編集とブックの統合を許可する のチェックを外した後、 「このファイルの保護を解除してもよろしいですか?」のメッセージを無視し、 [はい]を実行したときと同じ操作をさせたい。

  • excel VBA ファイル操作 マクロ について

    excel VBA ファイル操作 マクロ についてです。 ファイルAを基本ファイルとし、ファイルBのマクロB1をファイルB上で実行させる方法はあるのでしょうか? (ファイルBのマクロB1をファイルA上で実行する方法はわかるのですが。。。) ファイルBを開いてB1を実行すれば問題ないのですが、ファイルがB~Zなど多数ある場合に、作業効率化したいのです。 その際ファイルBは開いても開かなくてもOKですが、ファイルB上に表示される実行結果は保存したいです。 その結果、エラーが出なければ「正常終了」、エラーが出れば「異常終了」などを、ファイルAに記録するものを作りたいのです。 どなたかご教授お願いいたします。

  • エクセルの「ウィンドウ→表示しない」について

    エクセルを開いていて メニューバーのウィンドウ→表示しなし とするとSheet全体が見えなくなります また ウィンドウ→再表示、とすると 見えるようになります さて、 これをACCESSのVBで操作すると どの命令になるのでしょうか 参考までに ACCESSからエクセルを参照するときは ---------------------------------------- Set Xls = GetObject(myFile2) Xls.Application.Windows(1).Visible = True Xls.Application.worksheets("Sheet1").Activate ---------------------------------------- こんな風にしますが 終わり方がまずいために 質問にあるように、表示されなくなります 余計なことを書きましたが 質問点は画面を表示するVBAコードは?、です

  • VBA 起動時にエクセルの画面が表示されてしまう

    VBA 起動時にエクセルの画面が表示されてしまう こんにちは、VBA初めて1週間ぐらいの初心者です よろしくお願いします 動作環境として、OS:XP excel:excel2007 を使用しています まずはじめに、エクセルを開いて内容変更セーブして終了するというマクロを組んだのですが 別のプログラムから、 そのエクセルファイルに起動をかけて マクロを実行し終了するよう作りました。  /*** コード ***/ ThisWorkbook 0  Private Sub Workbook_Open() 1   Application.Visible = False          //エクセル画面を消す 2    3   call 内容変更し保存する関数()        // 標準モジュール内 SUB 関数 4    5   ThisWorkbook.Saved = True           // セーブしたことにする 6   If Workbooks.Count <= 1 Then Application.Quit // 他のエクセルが開いてない場合のみ終了する 7   ThisWorkbook.Close False            // エクセル終了 8  End Sub  /*** コード ***/ 質問1 ・1行目にエクセルの画面を消す関数を、プログラムの先頭に来ると思われる部分に入れて実行してみたのですが、 どうしても、起動してから画面を消す処理が始まるまでに、一瞬だけexcelのファイルが表示されてしまうのですが これを回避する方法はありますでしょうか? VBAを使ってマクロの処理をするのですが、 使う方にエクセルを使っているという事を悟られたくないのです 質問2 ・6行目、開いてるエクセルが自分だけの場合のみエクセルを終了すると組んだつもりなのですが、 処理を流すとエクセルで開いているファイルがすべて閉じてしまいます。 記述を間違えていたりしますか? 以上 ご教授お願いいたします <<検索ワード>> VBA VBA 起動画面表示 起動画面非表示 起動画面を出さない 起動画面を消す

  • ACCESS VBAから(ADO以外の参照設定を行わずに)エクセルのセルを操作する方法

    ACCESS VBAから(ADO以外の参照設定を行わずに)エクセルのセルを操作する方法を教えてください。 参照設定を行わずにAccessVBAから特定のEXCELファイルを開いてセルの書式設定などを編集する方法を教えてください。 環境は以下です。 OS:WindowsXP sp3 Office 2003 sp3

  • Excel95のVBAのソースを開きたい

    Excel95のVBAで作成されたファイルがあります。ファイルを開くとVBAが実行されるのですが、これを実行せずにVBAのソースを開きたいのですが、どうすればよいのかわかりません。 記憶違いかもしれませんが、たとえばAccessの場合、実行形式で配布されたファイルであっても、たしかShift+EnterにてVBAを起動せずにAccessを開けたような気がしているのですが・・・ 古いバージョンの話で恐縮ですが、ご存知のかたがいらっしゃいましたらお教え願います。

  • エクセル2003での操作制限方法について

    エクセル2003でシートを作成、共有設定して使用しています 誤操作防止のためエクセル画面右上の終了(×)ボタンをVBAでロックしているのですが、少し知識の有る者はwindowsのタスクマネージャを起動し強制終了する荒業をする事態が発生しています。 タスクマネージャの操作禁止処理をExcel2003のマクロ又はVBAで実現できないものでしょうか、参考となるホームページ等ご教示願いたいと思います。 よろしくお願いします。

  • エクセルVBA

    エクセルVBAのコードについて質問です。エクセル初心者です。 Windows10で32bit版のエクセル2010を使っています。 1.エクセルのマクロは32bit版でも64bit版にも対応できるようコードを組んでいるのですが、 32bitで動いているのか64bitで動いているのかどのように確かめたらよいでしょうか? あるマクロの途中に #If VBA7 And win64 Then MsgBox ” 64bit ” #Else またはIf VBA7 And win32 MsgBox ”32bit” #End If を組み込むと、If分の終わりには If分の最後に#EndIfが必要です、と表示されて(EndIfを書いているのに) エラーになります。 2.エクセルマクロをIEと連携させて使っています。 IEを操作させている途中でエクセルのメッセージBoxを最前面表示させるには どうしたらよいでしょうか? IEで特定の操作をしたら、エクセルが最前面に出て、OKボタン付きのメッセージBoxが表示され、OKボタンを押すとIEを操作する という動作をコードに書いています。 コードを書いた直後は、IE上での特定の操作のあとメッセージBoxが適切に最前面表示されますが、 一度保存し閉じてファイルを開き直しマクロを実行すると、メッセージBoxは最前面に出てくれません。 検討したコードは 1. SetForegroundWindow 2.VBA AppActivate. Microsoft Excel. Capture 3.AppActivate Microsoft です。いずれのコードを書いた場合も、保存まではうまくメッセージBoxに回答できるが 保存しファイルを開き直してマクロを実行するとメッセージBoxはIEの後ろに隠れたままであり、エクセルを選択しないと最前面表示されません。 しかし一応最前面表示されることもあることから、マクロを一度実行するごとにエクセル内のデータが変わる可能性も考えられす。

  • アクセスVBAでエクセルを操作するのは不可能でしょうか?

    アクセスVBAでエクセルを操作するのは不可能でしょうか? テスト.xlsのシート1の1行目コピーして テーブルに追加するということがしたいのですがどういうコードを書けばいいのか分かりません。 テスト.xlsは開いている状態です。 アクセス側のユーザーフォーム上のコマンドボタンをクリックしたらこの動作を実行するコード。。。 というのは不可能でしょうか?よろしくお願い致します。

  • セキュリティ警告 エクセルVBAでIE操作

    こんにちは。 エクセルVBAでIEを操作してます。 その際、あるサイトのページを表示させようとすると 「セキュリティで保護されたWebページコンテンツのみを表示しますか?」 という警告するウィンドウが開いて、マクロが止まってしまいます。 何か良い対策はないでしょうか? 例えば、 1.このウィンドウを出さないようにプログラムする 2.このウィンドウに「はい」と「いいえ」ボタンがあるので、ウィンドウが出たときには常に「はい」を押す ちなみに、VBAではなく、手動でWebページにアクセスした場合はセキュリティ警告は表示されません。 不足した情報があれば教えてください。WebページのURLは会員制サイトのためここには書けません。 以上です。よろしくお願いします。 -- エクセル2003

このQ&Aのポイント
  • スマホからbrotherの年賀状アプリで印刷すると、本体と通信できないと表示され、印刷できない。
  • 同じスマホから、brotherのiPrint&Scanで印刷すると、普通に印刷できる。
  • 解決法を教えてほしい。
回答を見る

専門家に質問してみよう