vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Fremde Excel-Datei ändern und darauf reagieren 
Autor: Stefan K.
Datum: 28.07.08 08:05

Leider hat mir deine Antwort nicht besonders geholfen, was aber sicherlich auch an meiner kargen Beschreibugn lag ;)
Ich habe jetzt ein Codebeispiel angehangen.
Problematisch ist wie ich überhaupt freigeben kann, dass die Excel-File bearbeitet werden kann und wie ich abfange, dass die Datei geschlossen wurde.
Das müsste ja möglich sein, wenn das einzige angezeigte Formular nicht modal ist oder geht das auch, wenn ein modales Formular noch läuft ???

PS:
Workbook adden über Verweise ist ja ok und den Focus setzen auch, aber deswegen kann ich doch noch nicht außerhalb des Codes Tabelle bearbeiten oder seh ich das falsch?


'Aufruf aus modaler Userform über einen Button
 
Private Sub cmdSymbAnp_Click()
    Dim strSymPfad As String
    Dim wbMappe As Workbook
    Dim blnOffen As Boolean
    Dim frmHilfe As New frmHelp
 
    strProjPfad = "C:\Dokumente und Einstellungen\Capitan\Desktop\Test"
    If MsgBox("Wollen Sie absolute Adressen oder Kommentare in der" & _
      "Symboltabelle ändern?", vbQuestion + vbYesNo, _
              "Meldung") = vbYes Then
 
        strSymPfad = strProjPfad + "\Master_Symbolik_Liste.xls"
        Application.Visible = True
        Workbooks.Open strSymPfad
        'Hiden der offenen Userforms
        Me.Hide
        frmStartbild.Hide
        'nicht modale Userform zur Hilfeanzeigen, dass VBA-Programm erst 
        ' fortfährt wenn
        'geöffnetes Workbook gespeichert und beendet wurde
        frmHelp.Show (vbModeless)
    End If
    imgHaken2.Picture = LoadPicture(ThisWorkbook.Path + "\Images\checked.bmp")
End Sub
 
'Userform frmHelp
 
' benötigte API-Deklaration
Private Declare Function WaitForSingleObject Lib "kernel32" ( _
  ByVal hHandle As Long, _
  ByVal dwMilliseconds As Long) As Long
' Ewartet wird die Zeitangabe in Millisekunden!
' z.B. 1000 für 1 Sekunde
Public Function Wait(ByVal mSek As Long)
  WaitForSingleObject -1, mSek
End Function
 
Private Sub UserForm_Initialize()
    Dim wbMappe As Workbook
    Dim blnWBoffen As Boolean
 
    txtHelp.Text = "Bitte editieren Sie die Symbolik falls nötig und Speichern" & _
      "anschließend," + Chr(13) + _
                   "bevor Sie die Excel-Datei wieder schließen und die" & _
                   "Konfiguration fortsetzen!"
    txtHelp.Locked = True
    'Wie manuelles Editieren im Workbook möglich?
 
        'Wenn noch geöffnet dann 2s warten und anschließend wieder prüfen
        'Während Sub in Schleife ist muss Excel-File manuell (nicht über Code) 
        ' editierbar sein!!!
        blnWBoffen = True
        While blnWBoffen = True
            blnWBoffen = False
            For Each wbMappe In Workbooks
                If wbMappe.Name = "Master_Symbolik_Liste.xls" Then
                    blnWBoffen = True ' Datei gefunden
                    Exit For
                End If
            Next wbMappe
 
            If blnWBoffen = True Then Wait 2000 'Wartezeit
        Wend
        Waitforsingleobject (......) 'mit welchen Parametern setzen???
End Sub


Beitrag wurde zuletzt am 28.07.08 um 08:35:10 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Fremde Excel-Datei ändern und darauf reagieren1.443Stefan K.27.07.08 19:23
Re: Fremde Excel-Datei ändern und darauf reagieren745VBStein27.07.08 22:48
Re: Fremde Excel-Datei ändern und darauf reagieren779Stefan K.28.07.08 08:05

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel