Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema OptionButton
BildScreenshot zu OptionButton OptionButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ScrollBar
BildScreenshot zu ScrollBar ScrollBar-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema SpinButton
BildScreenshot zu SpinButton SpinButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Button in gespeicherte Datei nicht anzeigen

Betrifft: Button in gespeicherte Datei nicht anzeigen von: rag
Geschrieben am: 03.11.2014 10:54:10

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

  

Betrifft: AW: Button in gespeicherte Datei nicht anzeigen von: fcs
Geschrieben am: 03.11.2014 15:52:48

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



  

Betrifft: AW: Button in gespeicherte Datei nicht anzeigen von: rag
Geschrieben am: 04.11.2014 08:39:00

Besten Dank :) Du hast einfach Drauf!!!


 

Beiträge aus den Excel-Beispielen zum Thema "Button in gespeicherte Datei nicht anzeigen"