質問: Access VBAを使用して、Excelファイルを操作したい。
回答: 僕も初心者なので、うまくはないですが、 とりあえず、Accessの標準モジュールからだと 例えばこんな感じで・・・・ ↓ Sub test01() Dim o_ExlApp As Object Dim o_Wb01 As Object Set o_ExlApp = CreateObject("excel.application") '↑Excelのアプリケーションウィンドウ、 ' つまり、外側の「ガワ」を開つつ、同時にその開いた「ガワ」を ' オブジェクト変数の「o_ExlApp」経由でも操作できるようにする。 o_ExlApp.Visible = True '↑「ガワ」を表示(可視化) Set o_Wb01 = o_ExlApp.Workbooks.Open("d:\1\autofit.xlsm") '↑開きたいExcelファイル(=ブック。このテストではd:\1\autofit.xlsm) ' を開きつつ、同時にその開いたブックを ' オブジェクト変数の「o_Wb01」経由でも操作できるようにする。 o_Wb01.Worksheets("autofit-test").UsedRange.Columns.Autofit '↑開いたブックの「autofit-test」というシートの ' 使用されたセルの全列を列幅を自動調整。 End Sub ブック名の「"d:\1\autofit.xlsm"」と シート名の「"autofit-test"」などを 質問者様の状況にあわせて書き換えてください。 あと、 o_Wb01.Worksheets("autofit-test").UsedRange.Columns.Autofit は、 o_Wb01.Worksheets("autofit-test").Range("A1:Z1").Columns.Autofit みたいに、表の最初の行のセル範囲を1行分、指定してもOKです。 o_Wb01.Worksheets("autofit-test").Range("A1:Z1").ColumnWidth = 20 のように、列幅を指定しても良いです。 そのほか、 o_Wb01.Worksheets("autofit-test").Range("×××").Columns.Autofit と o_Wb01.Worksheets("autofit-test").Range("×××").ColumnWidth = ×× を併用れば、 「どうしてもAutofitで自動調整したい列だけ」をピンポイントに自動調整できます。 オブジェクト変数はプロシージャの中で宣言していますが、 もしプログラムを書き換えたときに、 プログラム完了後にExcelが画面から消えてしまったら、 プロシージャの外で宣言してみてください。 「Set ×× = Nothing」といったコードは、必要に応じてご自分で・・・。 最初はこれだけをF8キーで動かしてみてください。 理解できたら、AccessのVBAの中に書き加えればいいと思います。