- #1
P
Prader
Guest
Hallo,
Ich habe einige private Excel-Programme erstellt, die aus verschiedenen Mappen bestehen. Nun möchte ich mit einer Start-Exe die einzelnen Programme starten, d.h. zuerst sollte Excel und dann die einzelnen Mappen gestartet werden und die Verknüpfungen automatisch aktualisiert werden.
Meine VB6-Kenntnisse sind ganz minim und es wäre zu aufwendig, VB6 zu erlernen, nur um dieses eine Projekt zu realisieren. Darum hoffe ich auf eure Hilfe.
Als Lösungsansatz habe ich folgenden VB-Code zusammengebastelt:
Private Sub Command1_Click()
Dim excel As Object
Dim sheet As Object
Set excel = CreateObject(excel.application)
excel.Visible = True
excel.Workbooks.Add C:\Programme\Beispiel\Mappe1.xls
Set sheet = excel.ActiveWorkbook.Sheets(Tabelle1)
excel.Workbooks.Add C:\Programme\Beispiel\Mappe2.xls
Set sheet = excel.ActiveWorkbook.Sheets(Tabelle2)
End Sub
Der Code funktioniert mit zwei Fehlern:
1. Die Verknüpfungen werden nicht automatisch aktualisiert (Abfragedialog erscheint)
2. Die Arbeitsmappen werden nicht im XLS-Format geöffnet, sondern als Mappe1 (wie wenn man eine xlt-Vorlage öffnet). Dies bewirkt beim Beenden des Programmes diverse Speichern Anfragen.
Diese Anfragen kommen im xls-Format nicht, weil in den Arbeitsmappen in DieseArbeitsmappe folgender VBA-Code eingetragen ist:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Save
End Sub
Das ganze Programm (alle geöffneten Mappen) werden schlussendlich über eine separate Schaltfläche in der Tabelle durch nachstehenden VBA-Code geschlossen:
Sub ProgrammBeenden_BeiKlick()
Application.ScreenUpdating = False
Application.DisplayFullScreen = False
Application.Quit
End Sub
Nun habe ich die grosse Bitte an einen VB6-Profi, dass er mir den VB-Codeentwurf so ergänzt, dass die Mappen im xls-Format gestartet werden und die Verknüpfungen automatisch aktualisiert werden.
Für eure Hilfe vielen Dank im Voraus.
Gruss Prader
Ich habe einige private Excel-Programme erstellt, die aus verschiedenen Mappen bestehen. Nun möchte ich mit einer Start-Exe die einzelnen Programme starten, d.h. zuerst sollte Excel und dann die einzelnen Mappen gestartet werden und die Verknüpfungen automatisch aktualisiert werden.
Meine VB6-Kenntnisse sind ganz minim und es wäre zu aufwendig, VB6 zu erlernen, nur um dieses eine Projekt zu realisieren. Darum hoffe ich auf eure Hilfe.
Als Lösungsansatz habe ich folgenden VB-Code zusammengebastelt:
Private Sub Command1_Click()
Dim excel As Object
Dim sheet As Object
Set excel = CreateObject(excel.application)
excel.Visible = True
excel.Workbooks.Add C:\Programme\Beispiel\Mappe1.xls
Set sheet = excel.ActiveWorkbook.Sheets(Tabelle1)
excel.Workbooks.Add C:\Programme\Beispiel\Mappe2.xls
Set sheet = excel.ActiveWorkbook.Sheets(Tabelle2)
End Sub
Der Code funktioniert mit zwei Fehlern:
1. Die Verknüpfungen werden nicht automatisch aktualisiert (Abfragedialog erscheint)
2. Die Arbeitsmappen werden nicht im XLS-Format geöffnet, sondern als Mappe1 (wie wenn man eine xlt-Vorlage öffnet). Dies bewirkt beim Beenden des Programmes diverse Speichern Anfragen.
Diese Anfragen kommen im xls-Format nicht, weil in den Arbeitsmappen in DieseArbeitsmappe folgender VBA-Code eingetragen ist:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Save
End Sub
Das ganze Programm (alle geöffneten Mappen) werden schlussendlich über eine separate Schaltfläche in der Tabelle durch nachstehenden VBA-Code geschlossen:
Sub ProgrammBeenden_BeiKlick()
Application.ScreenUpdating = False
Application.DisplayFullScreen = False
Application.Quit
End Sub
Nun habe ich die grosse Bitte an einen VB6-Profi, dass er mir den VB-Codeentwurf so ergänzt, dass die Mappen im xls-Format gestartet werden und die Verknüpfungen automatisch aktualisiert werden.
Für eure Hilfe vielen Dank im Voraus.
Gruss Prader