WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 20.05.2008, 10:12   #1
heli2sky
Master
 
Registriert seit: 02.10.2001
Alter: 38
Beiträge: 523


heli2sky eine Nachricht über ICQ schicken
Standard access -> excel vba - problem mit "range"

hallo leute!

ich habe mich in den letzten wochen etwas in access und vba eingearbeitet, hatte davor nix damit zu tun. jetzt bin ich auch schon recht weit und hab schon einiges zusammengebracht, nur stoße ich immer wieder auf folgendes problem:

Code:
    Dim objExcel As excel.Application
    Dim objWorkbook As excel.Workbook
    On Error Resume Next
    Set objExcel = GetObject(, "Excel.Application")
    If Err.Number = 429 Then
        Set objExcel = CreateObject("Excel.Application")
    End If

    On Error GoTo 0
    Set objWorkbook = objExcel.Workbooks.Open(file)
    objExcel.ActiveWorkbook.Sheets(1).Select
    objExcel.Visible = True
    
    With objExcel.ActiveWorkbook.Sheets(1)
    
        ' ### Daten aus der DB holen
        Dim db As DAO.Database
        Dim rs As DAO.Recordset
        Dim strSQL As String
        Set db = CurrentDb
        
        Do While ende = 0
          
            strSQL = "SELECT ...;"
            Set rs = db.OpenRecordset(strSQL)  ' Recordset öffnen
            
            ' zellen initialisieren
            .Range(.Cells(y + zy, x + 1), .Cells(y + zy, x + 31)).Select
            Selection.ClearContents
            Selection.ClearComments
        Loop
    End With
beim ersten öffnen des excel funktionierts problemlos! wenn ich allerdings dann excel schließe und das ganze erneut öffnen möchte, dann öffnet sich excel zwar, es kann aber nicht angezeigt werden (wenn ich draufklicke erscheint nur die zeile oben, siehe screenshot).

abhilfe bringt dann nur ein "prozess beenden"... danach lässt sich excel beim ersten mal öffnen, es führt aber die in access programmierten aktionen nicht aus (remote fehler 462, siehe screenshot 2). beim 2. öffnen funktionierts dann wieder richtig, beim 3. hängt sichs wieder auf usw...

bis jetzt bin ich dem problem mit for-schleifen und einzelnem durchgehen der zellen entgegnet, aber das kanns ja nicht sein
Angehängte Grafiken
Dateityp: jpg 01.jpg (16,5 KB, 12x aufgerufen)
Dateityp: gif 02.gif (6,0 KB, 12x aufgerufen)
____________________________________
Lang ist der Weg durch Lehren, kurz und wirksam durch Beispiele.
Lucius Annaeus Seneca


...:::www.modellbaulexikon.org:::...

www.acrobat-se.org | www.ams-8c.de.vu
heli2sky ist offline   Mit Zitat antworten
Alt 21.05.2008, 09:01   #2
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Der Code ist nicht vollständig, daher ist es nur eine Vermutung:

Excel wird nicht richtig beendet. Das führt bei der Verwendung von GetObject zu unvorhersehbaren Effekten.
Wenn mehrere Instanzen geöffnet sind, ist es nicht vorhersehbar, welche Instanz von GetObject gefunden wird.

Beobachte im Taskmanager die Anzahl der Instanzen.

Wenn nicht unbedingt notwendig, auf GetObject verzichten. CreateObject macht keine Probleme.
EarlyBinding (Verweis auf Excel) wäre aber noch besser. Dazu muß aber die Version von Excel bekannt sein.


mfg

WB
wbendl ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:15 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag