• ベストアンサー

VBAでBook読み込み時の非表示方法は??

chibita_papaの回答

回答No.2

こんな感じで Sub test() Dim app As New Application 'app.Visible = True app.Visible = False app.Workbooks.Open Filename:="G:\Book1.xls"   '---- 処理 --- app.Quit End Sub

momomimi
質問者

お礼

chibita_papa さん、ありがとうございます。 具体的に書いていただき、参考になりました。 おかげで解決でき、わずらわしい画面のチラツキは 抑えることができました。 感謝、感謝です。

関連するQ&A

  • VBAでインポート元ファイルの読込可否を判別するには?

    AccessVBAであるCSVファイルをインポートして処理を行っています。 インポート元であるCSVファイルは2分毎に更新されており、データ量が多い関係上書込みに十数秒掛かっています。 この間にAccessからCSVファイルのインポートを掛けると 「ほかのユーザーが排他的に開いているか、データを読み取る権限がありません。」 と出てしまいます。 このことから、 1.ファイル読込の可否を判別し、可能ならテーブルのレコードを削除しインポートを行う 2.不可ならテーブルにある既存のデータを用い集計を行う という一文をIf関数を用いた形で追加したいのですが、インポート元のファイルの読込可否を判別する方法はありますでしょうか? 識者の方アドバイスの程よろしくお願い致します。

  • EXCEL VBAについて

    VBAでCSVファイルをテンプレートのBBOKに読込むコードを 作り、CSVファイルから読込んだBOOK1データを集計する BOOK2を作成しています。 BOOK1・11/21・・・11/21・・・11/22・・・11/23と続きます      A     B     C      D 1  ID     店名   売上    日付 2 1104567   渋谷店  190,809   11/21 3 1102031   新宿店  209,808   11/21 4 1103450   横浜店  108,765   11/21 BOOK2・集計      A    B    C       D       E 1  ID   店名   11/21    11/22     11/23 2 1104567  渋谷店  190,809   203,487 3 1102031  新宿店  209,808   340,876 4 1103450  横浜店  108,765   547,627 ※BOOK1とBOOK2のIDの並び順は一致していません。 上記のBOOK1のデータをBOOK2に読込ませたいと考えています。 VLOOKUPやINDEX関数を使用しようかと考えたのですが、日付毎に ファイル名が違うのと、集計のファイルには外部参照をさせたくないと 考えています。 VBAで作成したいコードはBOOK1からBOOK2の日付のセルにIDを検索条件として日付毎のファイルを読込ませたいです。 フォームで日付を入力し、コピーするBOOK2のセルを指定後、BOOK1を選択するためにダイアログボックスを出したいです。 BOOK2のIDを検索条件としてBOOK1から一致する売上セルを抽出するコードだけでもわかれば何とか作成できそうなのですが、 ご教授いただけませんでしょうか?

  • エクセル VBA dll 読み込み時のエラーです

    エクセルファイルを作成しました。 ボタンを押すとシートを選ぶような簡単なマクロが付随してます。 サーバーにアップロードする方法で 複数の人間が利用してデータを上書きするものです。 途中でマクロを実行する際に 「dll 読み込み時のエラーです」 と表示されるようになりました。 修正しても不定期で発生します。 VBA標準モジュールのファイルをクリックしても同様で マクロのコードが参照できません。 ファイルは重い為、圧縮と解凍を繰り返してます。 どのような原因があるのでしょうか。 エクセルもVBAも素人ですので わかりやすい解説をお願いします。

  • VBAでデータの扱い

    VBAでテキストを読み込んで以下のようなデータから電話番号だけ取りこんでCELLに書き込む場合使う変数の形をどのようにすればよいか教えてください TEL;VOICE:09012345678 このデータを Tel2 = Mid(buf, 11, 50) で取ってCellに張り付けた場合、頭の0が表示されません。 電話番号を張り付けるcellをどのようにVBAで設定するのか教えてください。 宜しくお願いします。

  • EXCEL VBAでコピー元の選択をしたい時

    初めて「教えてgoo」を利用します。掲示板等も未だ利用したことがありません・・マクロの初心者です。 ★関数を使用する時、引数のセル範囲を選択するダイアログボックスのようなものはマクロで作れるのでしょうか。 要は、BOOK1のあるセルでBOOK2のデータの範囲をコピーしてきて貼り付けたいのです。常に同じ保存場所にある同じファイル名ならよいのですが、日々取得するデータのためできません。 作業はEXCEL2002で集計表を作成しています。 集計用ブック・集計結果の表示用(関数やマクロあり) データブック・日々取得するデータ(商品別に複数あり日々名前や保存場所も変わる) 取得するデータはFD数枚に保存されていて、集計用の各シートに貼り付けることによって、まとめのシートに集計が反映されるようにしてあります。   集計シートで「コピー元を選択してください」とダイアログボックスがでてきて、そこを関数の時のように範囲指定してOKすると、アクティブにしていたセルの所に貼りつく・・というものがつくりたいのです。 どなたかVBAにお詳しい方、お知恵をください。 検索方法が下手なのか、類似の質問も見つけられませんでしたし、本も何冊か買いましたがわかりませんでした。 よろしくお願いいたします。

  • VBAの保存方法

    WordなどでVBAを使った後に、そのファイルにそのVBAのプログラムを保存しておいて、 また開いたときに使いたいのですが、 VBAの画面でCtrl+SをしてもWordを閉じて再度開いた時には何も画面に出てきません。 これは保存されているけど出てこないだけなのでしょうか、それともVBAはコマンドなどで保存しなくてはならないのでしょうか? だとしたら、保存出来るコマンドを教えて頂いても良いでしょうか。 http://www.officepro.jp/excelvba/book_new/index5.html などを見てみましたが、どうしてもわからないので、保存だけが出来るコマンドについて教えて頂ければ助かります。 宜しくお願いします。

  • VBAで集計ファイルを作りたい

    今、VBAで一つの集計ファイルを作成しています。 集計ファイルは、Sheet1・Sheet2の二枚のシートで構成されています。 このファイルには、ある二つのファイルにデータを流し込むために、 Sheet1には二次元配列(表)にデータを入力し、Sheet2には二つのファイルのパスを指定する仕様になっています。 集計ファイルは、「集計」ボタンをクリックした際に二つのファイルにデータを流し込む仕様です。 この二つのファイルへのデータ更新は、一回で済ませたいと思っています。 ファイルを開いてデータ更新→ファイルを閉じる・・という処理を 二回繰り返して二つのファイルにデータ更新をかけたいと思っています。 ある程度までは、作成できたのですが今行き詰っています。 サンプル程度でよいので、お手本になるスクリプトのアドバイスを頂けたらと思います。 初心者ですので、質問がわかりづらかったらすみません。。。 お力添えをお願い致します。

  • EXCEL VBA フォームにメッセージ出力

    お世話になります。 以前にも似たような質問をさせていただきましたが、再度EXCEL VBAのフォームにメッセージを出力する件で質問させていただきます。 下記のVBAはA支店、B支店、C支店のデータを集計する処理なのですが、この処理の途中経過をユーザーに知らせるためにフォームを表示しています。 フォームの真ん中にメッセージ出力する領域としてLabel_Statusという名前で"ラベル"を作成しました。 このラベルにメッセージを表示することは前回ご教授いただきまして実現することができました。 実際に動かしますと "集計完了!"とだけ出てしまい、途中経過の"データ集計中(A支店)・・"が出力されないのです。なぜでしょうか? 以下がVBAです Me.Label_Status.Caption = "データ集計中(A支店)・・" --A支店集計処理-- Me.Label_Status.Caption ="データ集計中(B支店)・・" --B支店集計処理-- Me.Label_Status.Caption = "データ集計中(C支店)・・" --C支店集計処理-- Me.Label_Status.Caption = "集計完了!" ←このメッセージだけが出力されてしまいます VBAここまで 環境 Windows XP SP3 EXCEL2003 以上です。どなたかご教授いただけませんでしょうか?

  • Excel VBAでの集計マクロについて

    添付画像のような感じで、 C列に存在する同じ列名の数だけE列の数字を足して 合計値を横並び表示させたいのです 出力はGetOpen(?)から既存ファイルを開き、 2行目からデータを集計していきたいです(1行目のデータは固定値(入力済み)) 同じ記号が含まれている文字列(△1~△5)は足して出したいです 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 起動画面表示 起動画面非表示 起動画面を出さない 起動画面を消す