| |  | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: File ohne Funktionen; Makros u. Formeln versenden (1918 mal gelesen)
|
thewolff Mitglied
 
 Beiträge: 140 Registriert: 03.06.2003
|
erstellt am: 28. Nov. 2009 17:38 <-- editieren / zitieren --> Unities abgeben:         
Hallo Excel-Profis, ich habe eine XLS-Vorlage mir Formeln; Funktionen; Formatierungen und Makros. Diese Datei oder nur spezielle Tabellenblätter möchte ich an einen Kunden senden ohne das dieser die Funktionen usw. erkennen kann. Ich muss sehr oft diese entschärften Dateien an die Kundschaft senden und möchte die nicht immer durch manuelles Kopieren der Inhalte und anschl. Werte einfügen erstellen. Kann ich auch aus Excel eine Entwurfsmail in Outlook öffnen und dieses File automatisch anhängen? Wer kann mir einen Tipp geben wie ich diese Arbeitsschritte optimieren kann?
------------------ Gruß Marco Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
       

 Beiträge: 8086 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 28. Nov. 2009 17:58 <-- editieren / zitieren --> Unities abgeben:          Nur für thewolff
Hi, ich hab eine Datei, in der ich so etwas brauche/haben wollte, dort läuft via "Export"-button folgendes VBA-Makro: Code: Public Sub Export() 'läuft, ist aber sehr unschön: '### ich will eigentlich ohne select, bekomme das aber irgendwie nicht hin... On Error Resume Next Application.DisplayAlerts = False Dim strNeuerName As String strNeuerName = "--Export_" & ActiveWorkbook.Name Sheets("Kanal").Cells.Copy Sheets("Ergebnis").Activate 'Warum geht das folgende nicht gleichzeitig?? Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Sheets("Kanal").Cells.Copy Sheets("Ergebnis").Activate Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _ xlNone, SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False Sheets("Kanal").Delete Sheets("Grabenbreiten DIN EN 1610").Delete Call Loesche_Module Call Loesche_Userformen Call Loesche_Ereignisprozeduren ActiveWorkbook.SaveAs Filename:= _ "C:\TEST-Ordner\" & strNeuerName, FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False Application.DisplayAlerts = True End Sub
sowie Code: ' Code in das erste Tabellenblatt (nach "DieseArbeitsmappe"), da der Löschvorgang ' in der Richtung "letzten Tabelle" zur "ersten Tabelle verläuft". Zuerst "Module", ' dann "Userformen" und zuletzt "Ereignisprozeturen (Code in einem Tabellenblatt) löschen" 'Diese Prozedur zum Löschen aufrufen Sub Alles_loeschen() Call Loesche_Module Call Loesche_Userformen Call Loesche_Ereignisprozeduren End Sub
Sub Loesche_Module() 'Löscht Module: For n = ThisWorkbook.VBProject.vbComponents.Count To 1 Step -1 If ThisWorkbook.VBProject.vbComponents(n).Type = 1 Then ThisWorkbook.VBProject.vbComponents(n).Collection.Remove ThisWorkbook.VBProject.vbComponents(n) End If Next End Sub Sub Loesche_Userformen() 'Löscht Userforms: For n = ThisWorkbook.VBProject.vbComponents.Count To 1 Step -1 If ThisWorkbook.VBProject.vbComponents(n).Type = 3 Then ThisWorkbook.VBProject.vbComponents(n).Collection.Remove ThisWorkbook.VBProject.vbComponents(n) End If Next End Sub Sub Loesche_Ereignisprozeduren() 'Löscht Ereignisprozeduren: For n = ThisWorkbook.VBProject.vbComponents.Count To 1 Step -1 For i = 1 To ThisWorkbook.VBProject.vbComponents(n).CodeModule.CountOfLines If ThisWorkbook.VBProject.vbComponents(n).Type <> 1 And ThisWorkbook.VBProject.vbComponents(n).Type <> 3 Then _ ThisWorkbook.VBProject.vbComponents(n).CodeModule.DeleteLines 1 Next Next End Sub
bei dem ich aufgrund der ersten Kommentare davon ausgehe, dass es ein Fundstück aus dem inet ist. Notiz an mich: Ich muß mir endlich angewöhnen die Quellen mit in den Code zu schreiben Mail aus Excel senden hatten wir z.B. hier, es gibt bestimmt noch mehr threads/Lösungen. ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... System-Info | Excel -Suche | RuA-Suche | FAQ-ACAD | CAD.de-Hilfe | Sei eine Antilope Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
      

 Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 28. Nov. 2009 18:21 <-- editieren / zitieren --> Unities abgeben:          Nur für thewolff
da das Netz diesbezüglich viele Fundstücke hat;-) http://www.office.gmxhome.de/_excel_outlook.htm#EXCEL einzelnes Tabellenblatt mit Outlook senden zum isolieren, der Werte der Daten in ein neues Arbeitsblatt, den 3 Zeiler dazwischen schieben. Code: ActiveSheet.Copy Cells.Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Speichert die Datei unter dem Tabellennamen und dem Namen in A1
ich habe kein Outlook, daher keine weitere Prüfung Ach und Wissen gehört unter die Leut' ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |