タイトル | : Re^2: EXCELの全セルで書式設定を文字列にしたい |
記事No | : 6869 |
投稿日 | : 2008/01/20(Sun) 12:44 |
投稿者 | : ぬこ |
解決しました。 どうも有難うございました。
> > 環境は、VB2005+EXCEL2003+WinXPです。 > > 尚、エクセルは下記のコードで新規作成してます。 > > Dim xlApp As Excel.Application > > Excel 2003 なら上記では、エラーがでませんか? > (検索キーワード [PIA] )
すみません。環境がVB2005+EXCEL2003+Win2000SP4でした。 下記のコードで、実行してもエラーが出ていないので、大丈夫だと思うのですが・・・。 また、VB2005+EXCEL2007+WinXPの環境でも問題なく動作することが出来ました。
Public Class Form1 'COM参照設定 [Microsoft Excel 11.0 Object Library] チェック済み Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim xlApp As Excel.Application Dim xlBooks As Excel.Workbooks Dim xlBook As Excel._Workbook Dim xlSheets As Excel.Sheets Dim xlSheet As Excel._Worksheet Dim xlCells As Excel.Range
xlApp = New Excel.Application() xlBooks = xlApp.Workbooks xlBook = xlBooks.Add xlSheets = xlBook.Worksheets xlSheet = DirectCast(xlSheets.Item(1), Excel._Worksheet) xlCells = xlSheet.Cells xlCells.Select() xlCells.NumberFormatLocal = "@" xlCells = xlSheet.Range("A1") xlCells.Select()
xlApp.Visible = True
MRComObject(xlCells) MRComObject(xlSheet) MRComObject(xlSheets) MRComObject(xlBook) MRComObject(xlBooks) MRComObject(xlApp) End Sub
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 Finally objCom = Nothing End Try End Sub
End Class
|