• ベストアンサー

Excel2000 VBAにて ファイルオープンとともにPGをRUNするには?

imogasiの回答

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

既にご回答がありますが、Workbook_openイベントの問題なんでしょうか。 例えばabc.txtというファイルをMyDocumentsに作ったとします。 これを「マイコンピュター」から「マイドキュメント」のフォルダーの のabc.txtのアイコンをクリックするとメモ帳で開くのではなく、 自分の決めた(作った)プログラムが走り、多分そのファイルを読み 何か処理をするにはどうするのですかという質問ではないですか。 ファイルとアプリの関連付けのようなものでしょうか。 私には回答する力がありませんが。

関連するQ&A

  • オープンできないexcelファイルからVBAを取り出せるか?

    自宅でEXCEL2000でVBAを作成しました。FDで仕事場に持ち込むと EXCELオープン→マクロの有効→強制終了 になってしまいます。マクロを無効としても同じです。 このサイトの過去の質問で「開けないエクセルのデータを取り出すことができる」とありましたが、エクセルファイルに組み込んであるVBAのコードは取り出せることが可能なのでしょうか??よろしくお願いします。 ちなみにデータは外部参照やワードで開いて取り出すことができました。 OS:WIN95 B EXCEL:2000 (9.0.3821 SR-1)

  • VBAで生成されたExcelファイルの閉じ方

    VBAで以下の処理を書いています。 ・Excelオブジェクトを生成する。 ・Excelファイルをオープンする。 ・各行を読取、Accessのテーブルに挿入する。 ・終了 といった処理を行っています。終了する前に読取ったExcelの オブジェクトを終了しないといけないと思っています。 Workbook.Close Set Workbook = Nothing とやると、Workbook.Closeの所でファイルを保存しますかといった メッセージが出てきます。単純に開いていたファイルを閉じたいだけ なのですが、どういった処理を書けばExcelのファイルを何もメッセージを 表示せずに閉じることができるでしょうか?

  • office365のexcel2016でのVBA

    社内のネットワークハードディスクにexcel2007で作成した簡単なVBAを組み込んだxlsmファイルを保存し、複数の端末で使用しています。excel2007が入った端末でVBAを実行するとものの1秒で処理が終了するのですが、office365のexcel2016が入った端末で実行すると数分間かかってしまいます。ところが、同じxlsmファイルを同端末のデスクトップにコピーしてexcel2016で開き、VBAを実行すると一瞬で処理が終わります。セキュリティの問題だと思うので、2016の「設定」から「セキュリティセンターの設定」に入り、色々いじってみたのですが改善しません。ファイルをNASに置いたままexcel2016でVBAを快適に動作させるにはどうしたら良いのでしょう?

  • 【Excel VBA】1つのファイルにまとめる方法

    1つのフォルダの中に複数のExcelファイルが保存されています。 seat1だけを1つに集めたExcelファイルを新規で作成したいです。 ※シート1をどんどん追加させるイメージです。 ※フォルダの中に入っているExcelファイル数は毎月変わります。 手順(1)フォルダに入っているExcelシートを開く 手順(2)sheet1を【シートの移動またはコピー】新規BOOKにコピー 手順(3)フォルダに入っているExcel分繰り返す。 手順(4)シート名を変更する。    どういう風にVBAコードを記入すればいいかわからないので教えていただきたいです。どうぞよろしくお願いいたします。

  • VBA for Excel でファイルを条件付きで開く

    VBA for Excel で、開いているか開いていないか判らないファイルを開きたいと思い(ファイルは2つ、名前はGRT と GTATNO という変数に入っている)、下記のように書いてみましたが、Excel2000 ではエラーが起きるようです。 Sub ファイルを開く Dim hbook As Workbook AP = ActiveWorkbook.Path 'ファイルが開いていたら何もしない For Each hbook In Workbooks If hbook.Name <> GRT Then Workbooks.Open (AP & "\" & GRT) End If If hbook.Name <> GTANTO Then Workbooks.Open (AP & "\" & GTANTO) End If Next End Sub 原因は、そのときゲットした開いているファイル名(hbook.Name)がたまたま一致しないときにファイルを開こうとしてしまう、ということは判りました。 こうなると「2重に開こうとしている。開いて良いか?」のメッセージが表示され、それにNoと答えるとマクロがエラーを表示し、利用者は困ってしまうのですが、 どうしたらうまく動くマクロになるのかがわからず、悩んでいます。 ほとんど「組んでちょーだい」状態ですが、よろしくお願いいたしますm(_ _)m また職場でネットしているため、解答いただいた時間によってはお礼が8日(月)になってしまいますことを、予めお断りしお詫びしておきます。

  • Excel2007VBAファイルの開き方について

    ●質問の主旨 Cドライブのフォルダにあるファイルを下記コードで開こうとしましたが、 開くことができませんでした。 1.なぜ下記コードでは開くことができないのでしょうか? 2.開くためにはコードを書き換える必要があるのでしょうか? 3.書き換えるとすればどのように書き換えれば良いでしょうか? ご存知の方ご教示願います。私はVBA初心者です。 ●質問の捕捉 コードはあるVBAの参考書をまるまる引用したものです。 その説明として、 「該当ファイルの存在を予めチェックし、存在すれば開き、 存在しないときはメッセージを表示する」 とあります。 もちろん"C\data\test.xlsm"という場所、ファイルは予め用意しています。 ●コード Sub 存在するときだけ開く() myfile = "C\data\test.xlsm" If Dir(myfile) <> "" Then Workbooks.Open myfile Else MsgBox "ファイルが存在しません" End If End Sub

  • Excel2007VBAファイルの表示について

    ●質問の主旨 開いたダイアロボックス内のファイルについてエクセルファイル(.xlsxのみ)を 対象としたいと考えています。 下記コードをどのように書き換えればよいでしょうか? ご存知の方ご教示願います。私はVBA初心者です ●質問の補足 作成した下記のコードでは 「実行時エラー1004:GetOpenFilenameメソッドに失敗しました」 と表示されます。 参考書2冊読んで全くその通りに引用していて、なぜエラー表示に なるのかよく分かりません。 またTarget = Application.GetOpenFilename("Excelブック,*,xlsx")を Target = Application.GetOpenFilename()にするとダイアロボックスは 表示され、その中にあるエクセルファイルは表示されます。 ●コード Sub Sample3() Dim Target As String Target = Application.GetOpenFilename("Excelブック,*,xlsx") If Target <> "False" Then Workbooks.Open Target Else MsgBox "キャンセルされました" End If End Sub

  • Excel2010VBAからWordの呼び出し

    お世話になります。 Excel2003VBAで、次の様にWordファイルをオープンしていました。 Dim boReadOnly As Boolean Dim objWord As Word.Application boReadOnly = True Set objWord = CreateObject("Word.Application") With objWord .Documents.Open toFullName, ReadOnly:=boReadOnly .Visible = True End With これを、Excel2010VBAへ移植すると、WordファイルがExecelの後方に隠れて表示されてしまいます。 暫定として、.Visibleの次行に、   .Activate を追加しています。これを行なうと、Startアイコンの→横に、Wordアイコンが点滅するので、 Wordがオープンした事はわかります。 Wordファイルを呼び出し元のExcelの前面に表示させるには、どうすればいいでしょうか? 御教示よろしくお願いします。

  • Office2010のVBAファイル自動オープン

    VBAの自動オープンで対象ファイルの開き方によって VBAが正常に動かないので質問させt下さい。 ネットワーク上のサーバーである AD-1から開くのとネットワークドライブPから開くのとでは Excelの名前の管理機能が動作しません。 Private Sub Workbook_Open() Workbooks.Open Filename:= _ "\\ad1\共通\aaaa.xlsx" Worksheets("Sheet1").Activate と Private Sub Workbook_Open() Workbooks.Open Filename:= _ "P:\共通\aaaa.xlsx" Worksheets("Sheet1").Activate 両方とも稼働させる方法はあるのでしょうか? よろしくお願いします。 End Sub

  • Excel2007になってVBAは変わりましたか?

    Excel2003でマクロを作っていたので2007にしたらそれらが働くか どうか不安です。 VBAは2003と比べて、2007は結構かわっちゃったのですか?