いつも参考にさせて頂いており、初めて投稿いたします。
何卒よろしくお願いいたします。
タイトルの件についてですが、
取得したデータをExcelに出力し、列を自動調整する処理を書いています。
複数のシートが作成されますのでシート毎に列を自動調整するよう処理を記載しています。
以下コードで右向き矢印の処理が原因でExcelのプロセスが残ってしまいます。
先輩方にお力をお借りしたく初投稿させて頂きました。
恐縮ですが何卒よろしくお願いいたします。
以下にコードを抜粋いたします。
'--------------------------------------
'----------Excel 列の自動調整----------
Dim xlApp As New Excel.Application
Dim xlBooks As Excel.Workbooks = xlApp.Workbooks
Dim xlBook As Excel.Workbook = xlBooks.Open(IO.Path.Combine(FolderBrowserDialog.SelectedPath, StrExcelFileName))
Dim xlSheets As Excel.Sheets = xlBook.Worksheets
Dim xlSheet As Excel.Worksheet
Dim xlCells As Excel.Range
Dim xlRange As Excel.Range
For i = 1 To xlSheets.Count
xlSheet = xlSheets(i)
xlCells = xlSheet.Cells(1, i)
→ xlRange = xlSheet.Range("A1", xlCells)
xlRange.EntireColumn.AutoFit()
'MRComObject(xlRange)
MRComObject(xlCells)
MRComObject(xlSheet)
Next
MRComObject(xlSheets)
xlBook.Save()
xlBook.Close()
MRComObject(xlBook)
MRComObject(xlBooks)
xlApp.Quit()
MRComObject(xlApp)
'----------Excel 列の自動調整----------
'--------------------------------------
Private Sub MRComObject(ByRef objCom As Object)
Try
If Not objCom Is Nothing AndAlso System.Runtime.InteropServices.Marshal.IsComObject(objCom) Then
Dim i As Integer
Do
i = System.Runtime.InteropServices.Marshal.ReleaseComObject(objCom)
Loop Until i <= 0
End If
Catch ex As Exception
Finally
objCom = Nothing
End Try
End Sub