|
行いたいことは
AccessからあるExcelシートの一部分をコピーし、新規作成のブックのシートに貼り付けをしたいのです。(下記では使用最大範囲になっています)
ここで貼り付けまではうまくいくのですが、プロセス一覧にExcelが残ってしまい
終了しないのです。
ただ、[実行]-[リセット]を選択すると終了します。
何かがクリア(初期化?)されていないようなのですが、その何かが解りません。
どうか教えていただけないでしょうか?
下記が現在記述している内容です。
(ファイル名等は仮りです)
Private Sub コマンド0_Click()
On Error GoTo エラー
Dim appExcel As Object 'Excel.Application
Dim Book As Object 'Excel.Workbook
Dim 最下行番号 As Long, 右端列番号 As Integer
varinput1 = "C:\サンプルbook.xls" '←Public定義です。
varinput2 = "D:\temp サンプルbook.xls" '←Public定義です。
Call file_check
'コピーもとのMs Excelファイルを利用できるように設定します。
Set appExcel = CreateObject("Excel.Application") '← Excel 起動 終了しない
Set Book = appExcel.Workbooks
'Excelファイルのパスを指定します。
Book.Open (varinput1)
appExcel.Visible = False
'Sheet名を指定します。
varsheet = "サンプル"
appExcel.Worksheets(varsheet).Select
最下行番号 = Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
右端列番号 = Cells(1, ActiveSheet.Columns.Count).End(xlToLeft).Column
ActiveSheet.Range(Cells(1, 1), Cells(最下行番号, 右端列番号)).Copy
Set Book = appExcel.Workbooks.Add
appExcel.Visible = False 'True
ActiveSheet.Range("A1").PasteSpecial
'現在アクティブなブックに名前をつけて保存する(閉じない)
Book.SaveAs Filename:=varinput2
Book.Close
Set Book = Nothing
appExcel.Quit
Set appExcel = Nothing
Exit Sub
エラー:
If Err.Number = 1004 Then
Resume Next
Else
MsgBox Err.Number & " : " & Err.Description
End If
End Sub
Private Sub file_check()
'----FILE 存在チェック----------------------------------------------------
'指定したファイルの存在確認
Dim objFSO As FileSystemObject
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(varinput2) = True Then
objFSO.DeleteFile varinput2
End If
Set objFSO = Nothing
'----FILE 存在チェック END -----------------------------------------------
End Sub
|
|