Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1388to1392
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
Inhaltsverzeichnis

Button in gespeicherte Datei nicht anzeigen

Button in gespeicherte Datei nicht anzeigen
03.11.2014 10:54:10
rag
Hallo,
Also in diesem Makrodatei, gibts ein Button die den Funktion Speichern hat.
Die Datei wird als .xls gespeichert. Was ich will, dass in der gespeicherte Datei der Button nicht angezeigt werden soll.
Die Tabelle enthält Querys also Abfragen, wie kann ich die Datei speichern, ohne Querys, einfach als Normale Excel Tabelle ohne Query und Makro.
Danke
Sub Speichern()
' Speichern Makro
' Abfragen werden gelöscht und Datei wird als Normal Form gespeichert.
Dim strPath   As String
Dim strName   As String
Range( _
"Tabelle_Abfrage_von_Excel_Files_4[[#Headers],[''Betriebssystem/Servicepack'']]" _
).Select
ActiveWorkbook.Connections("Abfrage von Arbeitsspeicher").Delete
ActiveWorkbook.Connections("Abfrage von Betriebssystem").Delete
ActiveWorkbook.Connections("Abfrage von Computer Name").Delete
ActiveWorkbook.Connections("Abfrage von CPU Takt").Delete
ActiveWorkbook.Connections("Abfrage von IP Adresse").Delete
ActiveWorkbook.Connections("Abfrage von MAC Adressen").Delete
ActiveWorkbook.Connections("Abfrage von Version Whitelisting").Delete
strPath = "C:\Users\Dokumente\Report\Erfassungslieste\"
strName = Application.GetSaveAsFilename(InitialFileName:=strPath & " _
Erfassungsliste_PITS_Solidcore_?_" & ".xls", _
FileFilter:="xlOpenXMLWorkbook (*.xls), *.xls")
If strName = "Falsch" Then Exit Sub
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:=strName, FileFormat:=xlOpenXMLWorkbook
Application.DisplayAlerts = True
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Button in gespeicherte Datei nicht anzeigen
03.11.2014 15:52:48
fcs
Hallo rag,
wenn die aktive Datei im 2010 Format erstellt ist (XLM-Format), dann solltest du den Weg über eine temporäre Kopie gehen, um Schaltflächen und Makros und Abfragen zu entfernen.
Gruß
Franz
Hier beispielhaft mit dem Versuch dein Makro entsprechend umzusetzen.
Sub SaveAs_xls_ohne_Makros()
Dim varAbfrage, intAbfrage As Integer, wkbCopy As Workbook
Dim wks As Worksheet
Dim objShape As Shape, objListobject As ListObject
Dim strfilenameTemp As String, strfilename_xlsx As String, strFilename_xls
Dim strPath As String
With ActiveWorkbook
strfilenameTemp = .Path & Application.PathSeparator _
& "temp" & .Name
strfilename_xlsx = .Path & Application.PathSeparator _
& "temp" & Left(.Name, InStrRev(.Name, ".")) & "xlsx"
strPath = "C:\Users\Dokumente\Report\Erfassungslieste\"
'   strPath = .Path & Application.PathSeparator
strFilename_xls = Application.GetSaveAsFilename(InitialFileName:=strPath & _
"Erfassungsliste_PITS_Solidcore_?_" & ".xls", _
FileFilter:="Excel 2003 (*.xls), *.xls")
If strFilename_xls = "Falsch" Then Exit Sub
End With
'Datei temporär als Kopie speichern und temp Kopie öffnen
ActiveWorkbook.SaveCopyAs Filename:=strfilenameTemp
Set wkbCopy = Workbooks.Open(strfilenameTemp)
'in Kopie Abfragen löschen
For intAbfrage = wkbCopy.Connections.Count To 1 Step -1
Set varAbfrage = wkbCopy.Connections(intAbfrage)
varAbfrage.Delete
Next
'in Blättern der Kopie Links der Listobjekte und Commandbuttons löschen
For Each wks In wkbCopy.Worksheets
'Links der Listobjekte löschen
For Each objListobject In wks.ListObjects
With objListobject
If .SourceType  xlSrcRange Then
.Unlink
End If
End With
Next
'Commandbuttons löschen
For Each objShape In wks.Shapes
With objShape
Select Case .Type
Case msoOLEControlObject
If .OLEFormat.progID = "Forms.CommandButton.1" Then
'MsgBox "Axtive-X-Button"
.Delete
End If
Case msoFormControl
If .FormControlType = xlButtonControl Then
'MsgBox "MS-Forms-Button"
.Delete
End If
End Select
End With
Next
Next
Application.DisplayAlerts = False
'Datei ohne Makros speichern (XML-Format) und wieder öffnen
wkbCopy.SaveAs Filename:=strfilename_xlsx, FileFormat:=51
wkbCopy.Close
Set wkbCopy = Workbooks.Open(strfilename_xlsx)
'Datei im Format 2003 und älter speichern
wkbCopy.SaveAs Filename:=strFilename_xls, FileFormat:=-4143
'  wkbCopy.Close
Application.DisplayAlerts = True
'Temporäre Datei und Datei im XML-Format wieder löschen
VBA.Kill strfilenameTemp
VBA.Kill strfilename_xlsx
End Sub

Anzeige
AW: Button in gespeicherte Datei nicht anzeigen
04.11.2014 08:39:00
rag
Besten Dank :) Du hast einfach Drauf!!!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige