##使用ソフト・プログラミング言語
前提・実現したいこと
Access VBAにてExcelを起動して、Excelを操作し、Excelを保存して閉じた後に、元のAccessを画面に表示するにはどうすればよろしいでしょうか?
発生している問題・エラーメッセージ
Access VBAにてExcelを終了すると、手動でタスクバーにあるAccessアイコンをクリックして処理中のAccessを画面に表示しないと次の処理に進まないため困っています。
該当のソースコード
Dim AppObj As Object 'Excel.Applicationオブジェクトの宣言 Dim WBObj As Object 'Excel.Workbookオブジェクトの宣言 Dim WsObj As Object 'Excel.WorkSheetオブジェクトの宣言 Dim Path, Exf, Str As String Dim i, j, k, ken, t As Integer: i = 1: j = 1: ken = 1 'Excelファイルのパスを指定 Path = "C:\Users\" '※ Excelファイルが使用するAccessファイルと同じフォルダにある場合の表記 Exf = Dir(Path & "*.xlsx") For t = 22 To 29 If Toggle(t) = True Then '実行時バインディング Set AppObj = CreateObject("Excel.Application") '編集を実施するワークブックを開く Set WBObj = AppObj.WorkBooks.Open(Path & Exf) '編集を実施するワークシートを設定する Set WsObj = WBObj.Worksheets(1) 'Excelアプリケーションを表示しない AppObj.Visible = True '参照する行を1行目とする i = 1 'ファイル番号で分岐する If ken = 1 Or ken = 3 Or ken = 5 Then '右端の列番号を4とする j = 4 Else '右端の列番号を6とする j = 6 End If '現在の行のA列に値があるあいだ処理する Do While WsObj.cells(i, 1).Value <> "" WsObj.cells(i, 1).Activate '行単位で処理を実行する With WsObj.Range(WsObj.cells(i, 1), WsObj.cells(i, j)).Font 'フォントを変更する .Name = "MS Pゴシック" '文字サイズを変更する .Size = 16 '文字列を太字にする .Bold = True '文字色を変更する .Color = RGB(0, 0, 0) End With Const xlCenter = -4108 'エクセルの定数を宣言 WsObj.Range(WsObj.cells(i, 1), WsObj.cells(i, j)).VerticalAlignment = xlCenter WsObj.Range(WsObj.cells(i, 1), WsObj.cells(i, j)).HorizontalAlignment = xlCenter '次の行に移動する i = i + 1 Loop '一覧ファイルだけ処理する If ken = 2 Or ken = 4 Or ken = 6 Then 'オートフィルターを設定する WsObj.Range(WsObj.cells(1, 3), WsObj.cells(i - 1, 5)).AutoFilter End If '全列に適用する For k = 1 To j WsObj.Columns(k).AutoFit '列幅を調整する Next 'Excelを保存して閉じる WBObj.Save 'ワークブックを保存する WBObj.Close 'ワークブックを閉じる 'アプリを終了する AppObj.Quit MsgBox "『" & Exf & "』の書式設定が完了しました。", vbOKOnly + vbInformation End If '次のファイル名を取得する Exf = Dir() '件数を加算する ken = ken + 1 Next MsgBox "書式設定が完了しました。", vbOKOnly + vbInformation
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。