Anzeige
Archiv - Navigation
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
844to848
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

"Speichern unter..." inkl Makro meiner Personl.xls

"Speichern unter..." inkl Makro meiner Personl.xls
07.02.2007 17:40:33
Toastie
Hallo zusammen
Ich bereite mit Hilfe zahlreicher Makros einige Arbeitsmappen auf. Diese Makros habe ich alle in meiner Personl.xls und somit stehen sie nur mir zur Verfügung.
Jetzt muss ich einige Dateien auch meinen Kollegen zur Verfügung stellen... Am liebsten wäre mir daher folgende Lösung:
Sobald ich eine Tabelle aufbereitet habe sichere ich Sie mithilfe meines Makros "DateiImVerzeichnisXYSpeichern" (das funktioniert schon...)
1. Beim Sichern soll ausserdem ein Makro "Laden" in die Datei gesichert werden.
2. Wenn der User die ExcelDatei öffnet soll sich an seinem Client ein Symbol in eine neue Symbolleiste erstellen, welches das Makro "Laden" zugewiesen wird.
3. Sobald der User dieses Symbol anklickt soll das Makro "Laden" ausgeführt werden.
4. Wenn der User die Datei schließt soll die generierte Symbolleiste mit Symbol wieder gelöscht werden.
Könnt ihr mir bitte helfen? Sowas kann ich per Makrorekorder nämlich nicht aufzeichnen...

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
"Speichern unter..." inkl Makro aus Personl.xls ?
07.02.2007 19:02:00
Luc:-?
Hallo Toastie,
halte diese Vorgehensweise für unnötig kompliziert! Warum lagerst du die allgemein benötigten Makros nicht in ein AddIn aus, das über den AddIn-Manager mit Excel verbunden wird?
Gruß Luc :-?
AW: "Speichern unter..." inkl Makro aus Personl.xls ?
08.02.2007 09:18:40
Toastie
Das hatte ich mir auch überlegt, aber dann müsste ich ja bei jedem der User das Add-In einbinden nur damit sie dieses eine Makro für diese eine Datei verwenden können... Drum meine Überlegung, dass das Makro direkt in das VBA Project(Dateiname).DiesesArbeitsblatt gespeichert werden sollte.
AW: "Speichern unter..." inkl Makro aus Personl.xls ?
08.02.2007 23:12:27
Piet
Hi,
sieh dir die Import-Funktion an.
mfg Piet
....richtig! Also erst Export aus der Personl...
08.02.2007 23:21:41
Luc:-?
...und dann Import in die betreffende Mappe.
Gruß Luc :-?
Anzeige
AW: ....richtig! Also erst Export aus der Personl...
09.02.2007 16:16:08
Toastie
OK, die importfunktion klappt. Ich habe jetzt zwei Makros im Modul1 importiert: Eines erstellt mir die Symbolleiste und das andere führt die "laden" funktion aus. Ich speichere jetzt also die Datei, importierte mein definiertes Modul und speichere nochmal.
Leider kann ich aber aus importierten Modulen kein Workbook_Open ausführen lassen sodass sich die Symbolleiste automatisch erstellen könnte. Dafür bräuchte ich nämlich das Makro "Symbolleiste erstellen" nicht im Modul1 sondern in "DieseArbeitsmappe". Oder seh ich das falsch?
AW: ....richtig! Also erst Export aus der Personl.
12.02.2007 04:12:02
Hans
Hallo,
ich halte das zwar für mit Kanonen auf Spatzen geschossen (eine Schaltfläche im Tabellenblatt wäre einfacher), aber um die Methodik zu erklären:

Sub SpeichernMitCode()
Dim oVBP As Object
Dim oVBC As Object
Dim oMdlA As Object
Set oVBP = Workbooks("Test.xls").VBProject
Set oVBC = oVBP.VBComponents(1)
Set oMdlA = oVBC.CodeModule
oMdlA.AddFromString _
"Private Sub Workbook_Open()" & vbLf & _
"   Dim oBar As CommandBar" & vbLf & _
"   Dim oBtn As CommandBarButton" & vbLf & _
"   Dim sBar As String" & vbLf & _
"   sBar = ""MyBeautifulCmdBar""" & vbLf & _
"   On Error Resume Next" & vbLf & _
"   Application.CommandBars(sBar).Delete" & vbLf & _
"   On Error GoTo 0" & vbLf & _
"   Set oBar = Application.CommandBars.Add(sBar, msoBarTop, False, True)" & vbLf & _
"   Set oBtn = oBar.Controls.Add" & vbLf & _
"   With oBtn" & vbLf & _
"      .Caption = ""Laden""" & vbLf & _
"      .OnAction = ""Laden""" & vbLf & _
"      .Style = msoButtonCaption" & vbLf & _
"   End With" & vbLf & _
"   oBar.Visible = True" & vbLf & _
"End Sub" & vbLf & vbLf & _
"Private Sub Workbook_BeforeClose(Cancel As Boolean)" & vbLf & _
"   On Error Resume Next" & vbLf & _
"   Application.CommandBars(""MyBeautifulCmdBar"").Delete" & vbLf & _
"   On Error GoTo 0" & vbLf & _
"End Sub" & vbLf
Set oVBC = oVBP.VBComponents.Add(1)
oVBC.CodeModule.AddFromString _
"Sub Laden" & vbLf & _
"   'Tue dies und das" & vbLf & _
"End Sub"
Workbooks("Test.xls").SaveAs "c:\temp\TestArbeitsmappe.xls"
End Sub

gruss hans
Anzeige
AW: ....richtig! Also erst Export aus der Personl.
12.02.2007 13:50:45
Toastie
Funktioniert perfekt... :-)
Vielen Dank noch mal für die Hilfe!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige