金曜日, 12月 26, 2008
[VB2005]ExcelのA1形式で列名取得
▼質問
Excelの参照形式で表示されるA1形式の数字以外の列名を取得したいんだ。
どうしたらできるか教えてくれ!
▼回答
サンプルを示すから参考にしてくれ!!
Excelの参照形式で表示されるA1形式の数字以外の列名を取得したいんだ。
どうしたらできるか教えてくれ!
▼回答
サンプルを示すから参考にしてくれ!!
Public Shared Sub GetExcelA1Address(ByRef strA1() As String)
Dim xlApp As Excel.Application = Nothing
Try
xlApp = CreateObject("Excel.Application")
If IsNothing(xlApp) Then Exit Sub
xlApp.Workbooks.Add()
xlApp.WindowState = Excel.XlWindowState.xlMinimized
xlApp.Visible = False
xlApp.DisplayAlerts = False
xlApp.ScreenUpdating = False
Dim wWorksheet As Excel.Worksheet = _
CType(xlApp.ActiveWorkbook.ActiveSheet, Excel.Worksheet)
ReDim strA1(256)
'最大列数分ループする。
For i As Integer = 1 To 256
strA1(i) = Replace(Split(CType(wWorksheet.Columns(i), _
Excel.Range).Address(False, True, Excel.XlReferenceStyle.xlA1), _
":")(0), "$", "")
Next i
GC.Collect()
Catch ex As Exception
Finally
If (Not IsNothing(xlApp)) Then xlApp.Quit()
xlApp = Nothing
GC.Collect()
End Try
End Sub