[기관실 요금 시스템] MSHflexgrid 컨트롤에서 Excel로 가져오기

오늘은 다음과 같은 해결 방법을 정리합니다.
먼저 모듈에서 다음 절차를 설명합니다.
         
Public Sub Export(frmName As Form, FlexGridName As String)

    Dim xlApp As Object                 'Excel.Application
    Dim xlBook As Object                'Excel.Workbook
    Dim xlSheet As Object               'Excel.Worksheet

    Screen.MousePointer = vbHourglass

    On Error GoTo Err_Proc

    Set xlApp = CreateObject("Excel.Application")
    Set xlBook = xlApp.Workbooks.Add
    Set xlSheet = xlBook.Worksheets(1)

    ' 
    Dim intRowIndex As Integer
    Dim intColIndex As Integer

    With frmName.Controls(FlexGridName)  ' 
        ' Sheet1
        For intRowIndex = 0 To .Rows - 1
            For intColIndex = 0 To .Cols - 1
                xlSheet.Cells(intRowIndex + 1, intColIndex + 1).Value = "'" & .TextMatrix(intRowIndex, intColIndex)
            Next intColIndex
        Next intRowIndex
    End With

    xlApp.Visible = True
    Screen.MousePointer = vbDefault
    Exit Sub

Err_Proc:
    Screen.MousePointer = vbDefault
    MsgBox " Excel!", vbExclamation, " "
End Sub

이렇게 하면 기본적인 절차가 끝나고 필요한 창에서command의click에서 해당하는 명령을 실행합니다.
          
Export Me, "myflexgrid"   ' flexgrid 
이렇게 하면 excel에 가져올 수 있습니다.
사실 이런 문제도 있다. 엑셀에 내보낸 데이터는 칸의 크기와 일치하지 않아 일부 데이터가 보이지 않는다. 비록 이것은 코드에서 실현될 수 있지만 엑셀의 설정도 문제를 해결하고 착수할 수 있다.
"시작"의 "형식"에서 줄 높이와 열 높이를 자동으로 조정하도록 설정하면 됩니다.

좋은 웹페이지 즐겨찾기