Zum Inhalt springen

vba eigene speicherroutine


forTeesSake

Empfohlene Beiträge

hi, weiss dass man in vba eine eigene speicherroutine schreiben kann indem man einfach die funktion filesave bzw. filesaveas einbaut. nun möchte ich aber die word eigene speicherfunktion verwenden und darüberhinaus etwas einbauen.

das ganze soll so ablaufen:

speichern (word eigen)

und danach ein logfile füllen.

gibts da ne möglichkeit das zu realisieren??

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hier ne kleine Anregung:


Dim WithEvents m_oSave As CommandBarButton


Private Sub Document_New()


  Dim oCommandBar As CommandBar

  Dim oCmd As CommandBarButton


  Set oCommandBar = Application.CommandBars("Standard")


  For Each oCmd In oCommandBar.Controls

    If oCmd.ID = 3 Then

      Set m_oSave = oCmd

      Exit For

    End If

  Next oCmd


End Sub


Private Sub m_oSave_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)


  'Logfile schreiben

  Call SaveAs


End Sub

So in etwa gehts, ist aber nicht sehr sauber, halt nur n Hack!!!

Gruß

Diablo999

Link zu diesem Kommentar
Auf anderen Seiten teilen

ok 748 is die id für speichern unter... aber das grosse problem ist, dass wenn ich ein neues dokument erzeuge und über den o.g. code speichere ich beim speichern erstmal nicht gefragt werde unter was gespeichert werden soll, sondern es wird einfach zuerst automatisch gespeichert. erst danach kann ich den speicherort auswählen, aber das aktuelle dok. ist schon gespeichert..

bei nur speichern klappt alles gut..

noch ne ahnung?

Link zu diesem Kommentar
Auf anderen Seiten teilen

nee, sorry nochmal: also wenn ich das richtig sehe werden zwar die speichern menüeinträge so modifiziert, dass gespeichert wird und danach noch was anderes passiert.

die normale "speicherlogik" von word wird aber nicht berücksichtigt. es wird also immer einfach über "call filesave" gespeichert egal ob das dok. noch neu ist und erstmal ein pfad ausgewählt werden muss oder ob man über speichern unter... speichert...

Link zu diesem Kommentar
Auf anderen Seiten teilen

In dem Beispiel überlade ich ja nur den Speichernbutton, ds hast du

ja soweit kapiert! Die Menüeinträge funktionieren so ähnlich, weiß ich etz net

auswendig...

Jedenfalls kannst du sowohl Save als auch SaveAs überladen, indem

dazu die richtigen einträge findest, bei SaveAs musst du natürlich

auch die passende Methode "SaveAs" vom Dok ausführen...

Diablo999

Wenn du noch Fragen hast immer raus damit, hab aber heut keine Zeit

mehr des ausführlicher zu schreiben...

Link zu diesem Kommentar
Auf anderen Seiten teilen

so, vielen dank für deine mühe. hab nochmal nachgedacht und dann den unten stehenden code geschrieben.

jetzt is es ok. der knackpunkt war das << if activedocument.path = "" >> im speichern modus. dann is das dokument nämlich neu. wenn nicht dann muss filesaveas ausgeführt werden.

und die von mir angesprochene "windows-interne logik zum speichern" übernimmt ja dann der dialog.

und neben dem speichern kann ich dann mein loggen einbauen...

danke auf jeden fall!

Sub FileSave()

If ActiveDocument.Path = "" Then 'dok ist neu

FileSaveAs

Else

ActiveDocument.Save

End If

End Sub

Sub FileSaveAs()

Dim retVal, retName

ChangeFileOpenDirectory (glblStandardDocPfad)

With Dialogs(wdDialogFileSaveAs)

retVal = .Display

retName = .name

End With

If retVal = -1 Then

ActiveDocument.SaveAs (retName)

End If

Call writeExcelLog

End Sub

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...