Private Sub ExcelPrint()
On Error GoTo Err
Dim B_FileName As String
Dim B_File As String
Dim B_File1 As String
Dim Bi As Integer

    B_File = App.Path & "\Excel\" & "기타정산" & Replace(날짜구분변환(Mid(Now(), 1, 10)), "/", "")
    B_FileName = B_File & ".xls"
    If Dir(B_FileName) <> "" Then
        For Bi = 1 To 100
            B_File1 = B_File & "_" & Bi
            B_FileName = B_File1 & ".xls"
            If Dir(B_FileName) = "" Then
                Exit For
            End If
        Next
    End If
    MsgStr = MsgBox("엑셀(Excel)로 변환 하시겠습니까?" + Chr(13) + Chr(13) + _
            "[ 예 ] : Excel 변환     [ 아니오 ] : 취소", vbInformation + vbYesNo + vbDefaultButton1, "출 력")
    With Grid_List
        .FixedRows = 0
        .FixedCols = 0
    End With
    If MsgStr = vbYes Then
        Grid_List.SaveGrid (B_FileName), flexFileTabText
        ShellExecute hwnd, "open", B_FileName, 0, 0, 0
    End If
    With Grid_List
        .FixedRows = 1
        .FixedCols = 1
    End With

Exit Sub
Err:
If Err.Number <> 0 Then
   MsgStr = "오류 # " & Str(Err.Number) & "이(가) " & Err.Source _
         & "에 의해 생성되었습니다." _
         & Chr(13) & Err.Description
   MsgBox MsgStr, , "Error", Err.HelpFile, Err.HelpContext
End If
End Sub


1. 파일명 지정
2. Grid의 Fixed행과 열을 모두 없애고 SaveGrid 함수를 이용하여 Excel로 추출
3. ShellExecute hwnd 를 이용하여 저장된 엑셀파일을 호출하여 오픈
4. Grid의 Fixed 행 지정

정도의 순서네요. 중간에는 이미 파일이 존재하면 뒤에 숫자를 붙여 중복을 피하는 방법이구요.

저도 자꾸 까먹어서.. 저도보고 다른분들도 응용해서 쓰시면 될 듯 합니다.. 'ㅡ'a