• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルから現在起動しているアクセスファイルをアクティブにしたい)

エクセルから現在起動しているアクセスファイルをアクティブにする方法

bonaronの回答

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.2

「現在開いているアクセス」ということは それは見えているんですよね? 可視にするコードは不要では? Sub アクセスをアクティブにする() Dim app As Object Set app = GetObject(, "Access.Application") 'app.Application.Visible = True 'app.Visible = True End Sub

rieury
質問者

お礼

何度もすいません。 エクセルもアクセスも起動していて エクセルがアクティブな時に アクセスをアクティブにしてEnd Subで終わる方法が知りたいです。 このコードも実行してみましたが何も変わりませんでした。

関連するQ&A

  • アクセスからアクセスファイルを開くには?

    アクセスからアクセスファイルを開きたいのですがうまく出来ないので教えてください。 Option Compare Database Option Explicit Sub test() Dim App As Access.Application Dim MyFileName As String Set App = CreateObject("Access.Application") MyFileName = CurrentProject.Path & "\アクセスファイル名.mdb" With App .Visible = True End With Set App = Nothing End Sub で、 .Visible = True でアプリケーションは開きますが Set App = Nothing を通過すると開いたアプリケーションが閉じてしまいます。 それにアプリケーションが開くだけで肝心のファイルが開かれません。 なので「.ファイルを開くVBAコード」が必要だと思うのですがそのコードがわかりません。

  • アクセスからアクセスを立ち上げたいのですが

    オフィス2007です。 アクセスからアクセスを立ち上げたいのですが、うまくいきません。 test1.accdbにフォームとコマンドボタンを設置して、 Private Sub コマンド1_Click() Dim acApp As Object Set acApp = CreateObject("Access.Application") acApp.OpenCurrentDatabase C:\test2.accdb" acApp.Visible = True End Sub を実行したのですが、アクセスのアプリケーションが一瞬だけ開いて、閉じてしまいます。 「 acApp.Visible = True」の部分に、ブレークポイントを設定して、ステップインしてみたところ、 acApp.Visible = Trueでアクセスのアプリケーションが立ち上がり、test2.accdbが表示されますが 「End Sub」で閉じてしまいます。 ずっと開き続けるにはどうすればいいでしょうか?

  • Excel から Accessクエリーを実行したい

    下記のようなマクロを組んでMS Accessのクエリー結果をExcelに出力したいのですが「レコードがない」というエラーになります。正しいコーディングを教えてください。 Sub DataFromAccess() Dim AccessApp As Object Set AccessApp = CreateObject("Access.Application") myDBName = "C:\MyAccess.mdb" '出力先フルパス xlsName = "C:\Invoice.xls" With AccessApp .Visible = True .OpenCurrentDatabase myDBName, acViewNormal .DoCmd.OutputTo acOutputQuery, "クエリー名", acFormatXLS, xlsName, True .CloseCurrentDatabase .Quit End With Set AccessApp = Nothing End Sub

  • エクセルファイルが既に開いてるのなら開かない

    エクセルファイルが既に開いてるのなら開かない としたいです Sub test() Dim app As Excel.Application Dim book As Excel.Workbook app = CreateObject("Excel.Application") If app.ReadOnly Then MsgBox("既に開いています") End If End Sub このようにやろうと思ったけど、 これじゃファイル名をしてしてないから無意味ですよね しかも上記のコードを実行したら --------------------------------------------------------- 型 'System.MissingMemberException' のハンドルされていない例外が Microsoft.VisualBasic.dll で発生しました 追加情報: 公開メンバー 'ReadOnly' は型 'ApplicationClass' に見つかりませんでした。 --------------------------------------------------------- というエラーが発生しました。 Sub test() Dim app As Excel.Application Dim book As Excel.Workbook app = CreateObject("Excel.Application") app.Visible = True book = app.Workbooks.Open("C:\Users\test.xlsm") End Sub このようにして、エクセルファイルを開くコードは分かるのですが、 このコードに、「既に開いているのなら開かない」という処理を付け加えたいです。 よろしくお願いします。

  • 「accessがもし開いてるなら開かない」とするに

    「accessがもし開いてるなら開かない」とするには? http://okwave.jp/qa/q7856640.html を参考にしたのですが、 Sub test1() Dim AccApp As Access.Application Dim MyPath As String MyPath = "C:\Users\Documents\test.mdb" AccApp = CreateObject("Access.Application") AccApp.Visible = True AccApp.OpenCurrentDatabase(MyPath) AccApp.UserControl = True End Sub で、アクセスのファイルを開くことができるのですが、 もし"C:\Users\Documents\test.mdb"が開いていたら開かない とするにはどうすればいいでしょうか? http://okwave.jp/qa/q8051720.html これのアクセスバージョンをするにはどうすればいいですか? Dim book As Workbook や For Each book In Workbooks をアクセスの場合、どうすればいいのかわかりません。

  • VBAで既存のパワポのファイルを開くには?

    アクセスやエクセルからVBAで既存のパワポのファイルを開くには? 参照設定をして、 Sub test() Dim App As PowerPoint.Application Dim MyFileName As String Set App = CreateObject("PowerPoint.Application") MyFileName = CurrentProject.Path & "サンプル.ppt" App.Visible = True Set App = Nothing End Sub を実行すると、パワポの空のアプリケーション開きますが肝心のファイルが開きません。 開く方法を教えてください。

  • アクセスから現在開いているエクセルの値を取得したい

    アクセスから現在開いているエクセル(BOOK1.xls)のシート1のA1に入っている値を取得するにはどうすればいいでしょうか? アクセスの参照設定の「Exsel 11.0 object Library」 にチェックを入れ Sub Test() Dim ExcelSheet As Object Set ExcelSheet = CreateObject("Excel.Sheet") ExcelSheet.Application.Visible = True MsgBox ExcelSheet.Application.Cells(1, 1).Value Set ExcelSheet = Nothing End Sub とやってみたのですが 新たなエクセルブックが表示され、空白のセルのA1が取得されてしまいます。 「現在開いているBOOK1のシート1」とするにはどうすればいいのでしょうか? ご教授よろしくお願いします。

  • VBからaccess UserControl

    vb.netから 【VB】-------------------------------------------- Sub AccOpen() Dim AccApp As Access.Application Dim MyPath As String MyPath = "○○.accdb" AccApp = CreateObject("Access.Application") AccApp.OpenCurrentDatabase(MyPath) AccApp.Visible = True AccApp.UserControl = True End Sub -------------------------------------------------- でアクセスのファイルを開いているのですが、 アクセスの標準モジュールで 【access】-------------------------------------------- Sub test() MsgBox "The user started Access: " & Application.UserControl End Sub ---------------------------------------------------- を実行すると、Trueが返ってくるのですが、正しくはFalseなのではないでしょうか? アクセスのヘルプをみると、 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・  True 現在のアプリケーションはユーザーによって起動されました。 False 現在のアプリケーションは、オートメーションを使って他のアプリケーションによって起動されました。 と書かれています。 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・  AccOpenはvbで実行しているので、 「オートメーションを使って他のアプリケーションによって起動されました。」 に該当するのではないでしょうか?

  • もし該当のアクセスファイルが開いているのなら開かな

    エクセルからアクセスを開く方法を教えてください。 そして、 「もし該当のアクセスファイルが開いているのなら開かない」 と言う条件も付け加えたいです。 Sub test1() Dim strAcName As String Dim accApp As Object strAcName = "D:\ アクセスファイル名.mdb " 「GetObject」「CreateObject」どちらにしても結果は同じ? Set accApp = GetObject(strAcName) Set accApp = CreateObject(strAcName) 既にAccessファイルを開いている場合は、Visible = Trueにしたらエラーになる。 If Not accApp Is Nothing Then accApp.Visible = True accApp.OpenCurrentDatabase (strAcName) End If Set accApp = Nothing End Sub だと、 OpenCurrentDatabase の部分で、実行時エラー7867 既にこのデータベースは開いています。 になります。 だからってこの部分をコメントアウトすると 前回と同じように Set accApp = Nothingを通り越すと 折角開いたアクセスファイルが閉じてしまいます。 エクセルからアクセスを開く時にもハイパーリンクで Sub test2() Dim strAcName As String strAcName = "D:\ アクセスファイル名.mdb " ThisWorkbook.FollowHyperlink strAcName End Sub で開けたのですが、 「もし該当のアクセスファイルが開いているのなら開かない」 が出来ないので、 「GetObject」か「CreateObject」を 使って開くのかな?と思っています。

  • AccessからExcelのVBAを動かしたい

    2002です。 Excel_A.xlsからExcel_B.xlsのFromAccessプロシージャを実行する場合、 Application.Run "'" & ActiveWorkbook.Path & "\Excel_B.xls'!FromAccess" でいけたのですが、、、 Access_A.mdbから次のようにやると Application.Run "'" & CurrentProject.Path & "\Excel_B.xls'!FromAccess" エラーになります。 それで、次のようにやってみたら動いたのですが、FromAccessが一気に終了して しまい、デバッグできません。 Dim myExcel As Object Set myExcel = CreateObject("Excel.Application") Set myExcel = GetObject(CurrentProject.Path & "\Excel_B.xls", "Excel.Sheet") myExcel.Application.Visible = True myExcel.Application.UserControl = True myExcel.windows(1).Visible = True myExcel.Application.Run "FromAccess" デバッグしながら、AccessからExcelのプロシージャを実行するにはどうしたらいいのでしょうか?