|
■No74078 (WebSurfer さん) に返信
> それであれば、先のレスで書きました通り、参考にされている「Office のサーバーサイド
> オートメーションについて」のことは質問者さんのケースでは何の関係もないです。
>
> つまり、何も問題はないです。
ありがとうございます。
調べてみて「Office のサーバーサイドオートメーションについて」の記事があまりにも目立ちましたので不安でした…
ちょっとソースのことでわからないところがありましたので教えていただきたいのですがよろしいでしょうか。
http://jeanne.wankuma.com/tips/vb.net/programming/releasecom.html
上記のサイトを参考にEXCELの解放処理を記載しております。
下記は現在EXCELの行の高さを変更しようとしている箇所なのですが
シートと行のループはどのように書けばよろしいでしょうか。
現在固定の数値で記載しているのですがループ分を記載するとエラーになってしまいました…
' 必要な変数は Try の外で宣言する
Dim xlApplication As New Excel.Application
Dim intSheetCount As Integer
Dim intRowsCount As Integer
' COM オブジェクトの解放を保証するために Try 〜 Finally を使用する
Try
' 警告メッセージなどを表示しないようにする
xlApplication.DisplayAlerts = False
Dim xlBooks As Excel.Workbooks = xlApplication.Workbooks
Try
Dim xlBook As Excel.Workbook = xlBooks.Open("ファイルパス")
Try
Dim xlSheets As Excel.Sheets = xlBook.Worksheets
Try
Dim xlSheet As Excel.Worksheet = DirectCast(xlSheets(1), Excel.Worksheet)
Try
Dim xlRows As Excel.Range = xlSheet.Rows
Try
Dim xlRange As Excel.Range = DirectCast(xlRows(1), Excel.Range)
Try
xlRange.RowHeight = 0
' Microsoft Excel を表示する
xlApplication.Visible = True
' 1000 ミリ秒 (1秒) 待機する
System.Threading.Thread.Sleep(1000)
xlBook.Save() '上書き保存
Finally
If Not xlRange Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRange)
End If
End Try
Finally
If Not xlRows Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRows)
End If
End Try
Finally
If Not xlSheet Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet)
End If
End Try
Finally
If Not xlSheets Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheets)
End If
End Try
Finally
If Not xlBook Is Nothing Then
Try
xlBook.Close()
Finally
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBook)
End Try
End If
End Try
Finally
If Not xlBooks Is Nothing Then
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBooks)
End If
End Try
Finally
If Not xlApplication Is Nothing Then
Try
xlApplication.Quit()
Finally
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApplication)
End Try
End If
End Try
お手数おかけしますがご教授ください。
|