Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1016to1020
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
Kopie von Vorlage
28.10.2008 08:26:00
Vorlage
Hallo Excel-Spezis,
Ich habe folgendes Problem: Ich will eine „Formular.xlt die mit Eingabefeldern, Makros und Formeln gefüllt ist, nach dem Ausfüllen als Kopie mit gleichem Format und Inhalt, allerdings ohne die Formeln und Makros unter dem Namen der Feldinhalte z.B. „B3“ und „D7“ abspeichern, da der Mailempfänger Dateien mit Macos nicht empfangen kann (ich denke das geht wohl über ein Macro) anschließend soll diese Kopie per Mail versand werden. Hier muss der Anwender vor dem Versenden die Möglichkeit haben, u.U. die Betreffzeile zu bearbeiten.
Hat da jemand eine Idee?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopie von Vorlage
28.10.2008 10:27:00
Vorlage
Hallo.

Sub sendData()
Dim wbk As Workbook
Dim tempDatei As String
Dim codeObject As Object
' Erstellt Kopie der Datei in Temp-Verzeichnis
tempDatei = Environ$("Temp") & "\copy_" & ThisWorkbook.Name
ThisWorkbook.SaveCopyAs Filename:=tempDatei
' Öffnet die Kopie
Set wbk = Workbooks.Open(tempDatei)
' Alle Module (Type 1), Forms (Code 2) und Klassenmodule (Code 3) löschen
For Each codeObject In wbk.VBProject.VBComponents
With codeObject
If .Type >= 1 And .Type 


Sollte funktionieren (zumindest ging es mit der Testdatei).
Gruss, Jogy

Anzeige
AW: Kopie von Vorlage
28.10.2008 10:30:00
Vorlage
Hi.
Hatte noch einen Kommentar vergessen:
.CodeModule.DeleteLines 1, .CodeModule.CountOfLines
löscht unter Umständen vorhandenen Code aus Tabellenblättern.
Gruss, Jogy
und hier mit Entfernen der Formeln
28.10.2008 10:42:46
JogyB
Entfernt nun auch die Formeln + Detailverbesserungen.

Sub sendData()
Dim wbk As Workbook
Dim wsh As Worksheet
Dim tempDatei As String
Dim codeObject As Object
Application.ScreenUpdating = False
' Erstellt Kopie der Datei in Temp-Verzeichnis
tempDatei = Environ$("Temp") & "\copy_" & ThisWorkbook.Name
ThisWorkbook.SaveCopyAs Filename:=tempDatei
' Öffnet die Kopie
Set wbk = Workbooks.Open(tempDatei)
For Each codeObject In wbk.VBProject.VBComponents
With codeObject
' Alle Module (Type 1), Forms (Code 2) und Klassenmodule (Code 3) löschen
If .Type >= 1 And .Type 


Gruss, Jogy

Anzeige
AW: und hier mit Entfernen der Formeln
28.10.2008 10:47:00
JogyB
Nachtrag: Wenn Du benutzerdefinierte Funktionen verwendest, dann solltest Du das Löschen der Formeln im Code vor das Löschen des Codes setzen.
Gruss, Jogy

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige