Option Compare Database
Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As Long) As Long
Declare Function SendMessage Lib "user32" Alias _
"SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
Sub GetExcel()
Dim XLApp As Object
Dim ExcelLiefNicht As Boolean
Dim Jahr_Blatt As String
Dim Blatt1, Blatt2 As Integer
Verz = Forms!ZV_Haupt1!ZV_Haupt_UF_Daten.Form!ZV_Speicherort
Dat_Name = Forms!ZV_Haupt1!ZV_Haupt_UF_Daten.Form!ZV_Bez_Excel
datei = Verz & Dat_Name
Jahr_Blatt = InputBox("Dieser Bericht entspricht" & Chr$(13) & _
"in der Buchhaltung dem Jahr (Ziffer 1 - 7) oder" & Chr$(13) & _
"der 1. Schlussabrechnung (= S1)," & Chr$(13) & _
"der 2. Schlussabrechnung (= S2)?", "Datenübernahme aus der Buchhaltung")
Select Case Jahr_Blatt 'hier lege ich das Arbeitsblatt nach Jahr fest
Case 1
Blatt1 = 12
Blatt2 = 13
Case 2
Blatt1 = 19
Blatt2 = 20
Case 3
Blatt1 = 26
Blatt2 = 27
Case 4
Blatt1 = 33
Blatt2 = 34
Case 5
Blatt1 = 40
Blatt2 = 41
Case 6
Blatt1 = 47
Blatt2 = 48
Case 7
Blatt1 = 54
Blatt2 = 55
Case "S1"
Blatt1 = 65
Blatt2 = 66
Case "S2"
Blatt1 = 70
Blatt2 = 71
Case Else
msg = MsgBox("Es sind nur Werte von 1 bis 7 sowie S1, S2 zulässig!", vbCritical, "Fehler")
End Select
On Error Resume Next
Set XLApp = GetObject(, "Excel.Application")
If Err.Number <> 0 Then ExcelLiefNicht = True
Err.Clear
DetectExcel
Set XLApp = GetObject(datei)
XLApp.Application.Visible = True
XLApp.Parent.Windows(1).Visible = True
' Dateiverarbeitung.
betrag_lfd_ausgaben = XLApp.sheets(Blatt1).Cells(10, 9).Value
Forms!ZV_Haupt1!ZV_Abrechnungen_UF.Form!A_Lfd_Ausgaben = betrag_lfd_ausgaben
' der Länge wegen gekürzt
If ExcelLiefNicht = True Then
XLApp.Application.Quit
Else
XLApp.Parent.Windows(1).Visible = False
XLApp.Application.Visible = False
End If
Set XLApp = Nothing ' Verweis auf Anwendung und Tabelle freigeben.
End Sub
Sub DetectExcel()
Const WM_USER = 1024
Dim hWnd As Long
hWnd = FindWindow("XLMAIN", 0)
If hWnd = 0 Then
Exit Sub
Else
SendMessage hWnd, WM_USER + 18, 0, 0
End If
End Sub
mehrere daten aus tabelle in formular access
Meckenheimer 27.01.2009 - 202 Hits - 6 Antworten
Daten aus ComboBox übernehmen
Hexadecimal 05.04.2009 - 228 Hits - 4 Antworten
Einzelne Angaben aus Access in Excel einbetten
steeh 11.05.2009 - 601 Hits - 14 Antworten
Access 2007, Formular aufrufen ohne Access 2007 aufzurufen?
Mufti 18.09.2009 - 734 Hits - 3 Antworten
Access: Formular in ein bestehendes Formular einbinden
ArthurAccess 30.09.2009 - 513 Hits - 2 Antworten