Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  VBA Inhalt löschen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
Strömungssimulation auf der 3DEXPERIENCE Plattform
Autor Thema:  VBA Inhalt löschen (1174 mal gelesen)
wemasb
Mitglied
Quereinsteiger


Sehen Sie sich das Profil von wemasb an!   Senden Sie eine Private Message an wemasb  Schreiben Sie einen Gästebucheintrag für wemasb

Beiträge: 124
Registriert: 10.09.2012

SolidWorks 2018
Office 2010
AutoCAD 2007

erstellt am: 21. Dez. 2016 09:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Guten Morgen allesamt,

ich steh momentan vor einem kleinem Rätsel, vielleicht habt ihr ja die passende Lösung für mich oder auch einfach nur einen Rat   

ich habe ein Makro, mit einer Userform versehen die ein Passwort abfragt (ja ich weiß, geht auch über Einstellungen im Code selbst). Ich möchte aber, dass wenn jemand das dritte mal das Passwort falsch eingegeben wird, sich der komplette Inhalt dieses Makros löscht, also alle Module, Userform usw.

Etwas passendes für Excel habe ich schon gefunden:

Sub VBA_Code_entfernen()
Dim Ding As Object
Dim Zeile As Long
Dim Antwort As Integer

Antwort = MsgBox("Wollen Sie wirklich alle VBA-Elemente in:" _
          & vbNewLine & ActiveWorkbook.Name & vbNewLine _
          & "komplett löschen?", vbOKCancel, _
          "Achtung!")

If Antwort <> 1 Then
  MsgBox "Keine Änderungen durchgeführt", , ""
  Exit Sub
End If

  For Each Ding In ActiveWorkbook.VBProject.vbcomponents

  'Type 100 = DieseArbeitsmappe und alle Tabellen
    If Ding.Type = 100 Then

      With ActiveWorkbook.VBProject.vbcomponents(Ding.Name).CodeModule
        For Zeile = 1 To .CountOfLines
          .DeleteLines 1
        Next Zeile
      End With

  'Type 1 = Modul, Type 2 = Klassenmodul, Type 3 = UserForm
    Else
      ActiveWorkbook.VBProject.vbcomponents.Remove Ding
    End If

  Next

MsgBox "Fertig", , ""
End Sub

Dieses Sub bezieht sich aber auch ACTIVEWORKBOOK 

Jetzt zu der (wahrscheinlich schon logischen) Frage... wie heißt das passende Äquivalent (richtig geschrieben?) für SolidWorks?

Über jede Hilfe bin ich wie immer sehr dankbar 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nahe
Ehrenmitglied



Sehen Sie sich das Profil von nahe an!   Senden Sie eine Private Message an nahe  Schreiben Sie einen Gästebucheintrag für nahe

Beiträge: 1747
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 21. Dez. 2016 09:53    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wemasb 10 Unities + Antwort hilfreich

Hallo wemsab,

ich glaube, das wird das nicht möglich sein.
So wie ich das verstehe, werden Makros in Excel in der Excel-Datei gespeichert und in SWX als eigene Datei.

Ein Möglichkeit wäre, dass Du Dein Makro über ein anderes Makro, mit RunMacro2, aufrufst und dabei die Option swRunMacroUnloadAfterRun verwendest.
(ich gehe mal davon aus, dass Du das Makro ja nicht komplett löschen möchtest, weil es sonst ja wirklich weg ist)

Mich würde noch interessieren
Warum Du das so machen möchtest bzw. was der Hintergrund dazu ist?

------------------
Grüße
Heinz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wemasb
Mitglied
Quereinsteiger


Sehen Sie sich das Profil von wemasb an!   Senden Sie eine Private Message an wemasb  Schreiben Sie einen Gästebucheintrag für wemasb

Beiträge: 124
Registriert: 10.09.2012

SolidWorks 2018
Office 2010
AutoCAD 2007

erstellt am: 21. Dez. 2016 09:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Nahe,

mir geht es darum, dass dieses Makro an andere Leute gehen soll, jedoch sollen diese nicht in den Code schauen können. Da man mit ein bisschen googlen schnell herausfinden kann, wie man den normalen Passwortschutz umgeht, dachte ich, ich erstell eine eigene Passwort-Abfrage mit entsprechender Lösch-Funtkion

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nahe
Ehrenmitglied



Sehen Sie sich das Profil von nahe an!   Senden Sie eine Private Message an nahe  Schreiben Sie einen Gästebucheintrag für nahe

Beiträge: 1747
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 21. Dez. 2016 10:12    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wemasb 10 Unities + Antwort hilfreich

Hallo

na dafür gäbe es folgende Möglichkeit

im VBA Editor

Extras->Eigenschaften von "Deinem Makro"->Schutz

dort
den Haken bei "Projekt für die Anzeige sperren"
und ein Passwort vergeben

dabei ist mir aufgefallen, dass es unter Umständen notw.
SWX 1x zu beenden und neu zu starten,
damit eine Änderung an diesen Einstellungen richtig erkannt wird.
(ist aber wahrscheinlich nur während der Entwicklung interessant)

------------------
Grüße
Heinz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wemasb
Mitglied
Quereinsteiger


Sehen Sie sich das Profil von wemasb an!   Senden Sie eine Private Message an wemasb  Schreiben Sie einen Gästebucheintrag für wemasb

Beiträge: 124
Registriert: 10.09.2012

SolidWorks 2018
Office 2010
AutoCAD 2007

erstellt am: 21. Dez. 2016 10:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Diese Möglichkeit der Sperrung ist mir bekannt, aber gerade diese ist wohl mit relativ wenig Aufwand zu umgehen 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nahe
Ehrenmitglied



Sehen Sie sich das Profil von nahe an!   Senden Sie eine Private Message an nahe  Schreiben Sie einen Gästebucheintrag für nahe

Beiträge: 1747
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 21. Dez. 2016 12:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wemasb 10 Unities + Antwort hilfreich

- ist halt die Frage mit welchem Aufwand das zu umgehen ist

- dann könntest Du noch Dein Makro noch
  als Addin oder als eigenständiges Programm mit Visual Studio erstellen

  wenn das so heikel ist solltest Du, meiner Meinung nach,
  sowieso kein "normales" Makro dazu verwenden

------------------
Grüße
Heinz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

wemasb
Mitglied
Quereinsteiger


Sehen Sie sich das Profil von wemasb an!   Senden Sie eine Private Message an wemasb  Schreiben Sie einen Gästebucheintrag für wemasb

Beiträge: 124
Registriert: 10.09.2012

SolidWorks 2018
Office 2010
AutoCAD 2007

erstellt am: 21. Dez. 2016 12:54    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

... als eigenes AddIn/eigenständiges Programm liebend gerne, nur dazu fehlen mir leider die entsprechenden Kenntnisse 

Kenne mich bisher nur mit VBA aus 

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nahe
Ehrenmitglied



Sehen Sie sich das Profil von nahe an!   Senden Sie eine Private Message an nahe  Schreiben Sie einen Gästebucheintrag für nahe

Beiträge: 1747
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 21. Dez. 2016 14:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wemasb 10 Unities + Antwort hilfreich

wie ich oben schon geschrieben habe

wenn es wirklich so sensibel ist und Dir der Standardpasswortschutz nicht reicht,
wird Dir wohl nichts anderes übrig bleiben, als Dich in die Materie einzuarbeiten.

Noch eine Bemerkung:
eigenständige Programme sind einfacher zu erstellen und auch bereitzustellen als Addin´s
ist meine persönliche Meinung als Gelegenheits-Programmierer
wobei Programmierer schon übertrieben ist
(besser Code-Schnipsel-Zusammen-Steller  )

------------------
Grüße
Heinz

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

KMassler
Ehrenmitglied V.I.P. h.c.
CAD Admin + Mädchen für Alles...



Sehen Sie sich das Profil von KMassler an!   Senden Sie eine Private Message an KMassler  Schreiben Sie einen Gästebucheintrag für KMassler

Beiträge: 2675
Registriert: 06.11.2000

SolidWorks Start 1999
** CSWP 01/2008 **
------------------
Zuletzt beruflich:
- SWX2020 SP5;
- SAP/PLM+ECTR;
- DriveWorks Pro;
- Programmierung:
VBA, aktuell Visual Studio 2022/VB.Net
------------------
ab 2024 (privat):
Onshape und anderes

erstellt am: 21. Dez. 2016 14:33    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für wemasb 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von wemasb:
...
Kenne mich bisher nur mit VBA aus  

...na dann wird's Zeit, das zu ändern.

Mit Visual Studio hast du gleich vieeeel mehr Möglichkeiten für deine Projekte. Wenn du das mal genutzt hast, willst du gar nicht mehr zurück 

------------------
Klaus

http://www.al-ko.com/de/fahrzeugtechnik/ | mein Gästebuch

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz