Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Excel
  Bilder 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
Autor Thema:  Bilder löschen? (2096 mal gelesen)
de cadhund
Mitglied
Konstrukteure


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

Beiträge: 138
Registriert: 08.12.2004

SW Office 2006 SP3.1

erstellt am: 31. Jul. 2006 13:28    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 zusammen,
wie könnte man in einem Arbeitsblatt eingefügte Bilder per Makro löschen? Die Bilder haben immer andere Namen. Es sollte ein Button „Bild löschen“ gedrückt werden, dann ein Bild auf dem Blatt ausgewählt und eine Bestätigung des Löschens gefordert werden.

Oder gibt es vielleicht eine andere Möglichkeit.

------------------

de cadhund

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

runkelruebe
Moderator
Straßen- / Tiefbau




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

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 31. Jul. 2006 13:41    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 de cadhund 10 Unities + Antwort hilfreich

Hallo de cadhund,

Code:
Public Sub BilderLoeschen()
Dim sh As Object
    For Each sh In ActiveSheet.Shapes
        If sh.Type = msoLinkedPicture Then 'gilt nur für verknüpfte Bilder
            sh.Delete
        End If
    Next
End Sub

hoffe, das war's schon 
Gruß,
Nicole

Gottchen, hab natürlich wieder nicht hingelesen 
Du willst ja Sonderwünsche erfüllt haben 
Aber ist es dann nicht schneller, auf das Bildchen zu drücken und es mit entfernen zu löschen?? 

------------------
Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

[Diese Nachricht wurde von runkelruebe am 31. Jul. 2006 editiert.]

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

de cadhund
Mitglied
Konstrukteure


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

Beiträge: 138
Registriert: 08.12.2004

SW Office 2006 SP3.1

erstellt am: 31. Jul. 2006 14:48    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 Nicole,
tja mit Standartlösungen geben wir uns halt nicht ab 
Natürlich wäre es mit Entfernen einfacher, aber das Formular soll "idiotensicher" werden und daher der andere Weg.

------------------

de cadhund

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

runkelruebe
Moderator
Straßen- / Tiefbau




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

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 31. Jul. 2006 15:04    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 de cadhund 10 Unities + Antwort hilfreich

OK, dann mehr Infos bitte:
alle Bilder im gleichen Ordner?
oder user kennt den Namen einschl. kompletten Pfad?

Du willst also nen Knopf, dann soll die Box aufgehen, user tippt Bildnamen einschl Pfad ein, Abfrage ob er sicher ist und dann das Bild löschen?
oder willst Du sogar ne Dialogbox ähnlich dem Datei öffnen Dialog, nur eben mit allen in der Tabelle enthaltenen Bildern?

Das geht alles nicht auf die Schnelle (zumindest nicht bei mir, also Freiwillige Aus-dem-Ärmel-Schüttler Vor!) und schon gar nicht nebenbei   
Ich probier's mal heute Abend zu Hause. Aber kein Versprechen!

Bis dahin...selber testen 
Gruß,
Nicole

------------------
Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

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

de cadhund
Mitglied
Konstrukteure


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

Beiträge: 138
Registriert: 08.12.2004

SW Office 2006 SP3.1

erstellt am: 31. Jul. 2006 15:56    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 Nicole,
nein der User kennt gar nichts. Es können per Icon Bilder eingefügt werden. Der User sucht sich dann das Bild aus (wie EINFÜGEN->GRAFIK->AUS DATEI). Hier der Code dazu:

Private Sub CommandButton1_Click()
'Blattschutz aufheben
ActiveSheet.Unprotect

''Bild 1
'neues Bild einfügen
Range("A5").Select

On Error Resume Next
Dim ObjektDLG As Dialog
Set ObjektDLG = Application.Dialogs(xlDialogInsertPicture)
    ObjektDLG.Show
    Selection.ShapeRange.LockAspectRatio = msoTrue
    Selection.ShapeRange.Height = 201.75
    Selection.ShapeRange.Width = 269.25
    Selection.ShapeRange.Rotation = 0#
    Selection.ShapeRange.ZOrder msoSendToBack 'in den Hintergrund
   
'Blatt schützen
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFormattingCells:=True
       
End Sub

Es soll dann zum Löschen einfach ein Icon "Bild löschen" gedrückt werden. Dann muss sich der User das Bild per Auswahl aussuchen, wenn er eins angeklickt hat sollte ein Bestätigungsfeld auftauchen wo er dann "Löschen" oder "Abbrechen" klicken kann.
Das Bild mit ENTF löschen geht übrigens auch nicht, da das Arbeitsblatt geschützt ist.

------------------

de cadhund

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

runkelruebe
Moderator
Straßen- / Tiefbau




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

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 01. Aug. 2006 09:20    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 de cadhund 10 Unities + Antwort hilfreich


Loeschen.xls.txt

 
bin ich zu blöd zu...
ich wollte eigentlich alle Bilder der Tabelle in einer userform darstellen lassen, Multiselect oder auch single, dann auf OK-button zum Löschen.
Krieg' ich aber syntaxmäßig mal wieder nicht auf den Pinn, es scheitert an "alle Bilder der Tabelle" und auch an .add  

aber:

Zitat:
Das Bild mit ENTF löschen geht übrigens auch nicht, da das Arbeitsblatt geschützt
Du kannst den Bildern ein Makro zuweisen, welches ausgeführt wird, sobald Du draufklickst.
Dieses Makro hebt dann erst den Blattschutz auf und poppt die Abfrage ob wirklich gelöscht wird auf, anschließend wird der Blattschutz wieder gesetzt. In der Mappe anbei mal ein Beispiel, wie das für das erste Bild aussehen könnte.

Ansonsten bin ich leider raus und warte gespannt auf Lösungen von fähigeren Menschen    

Gruß,
Nicole

------------------
Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

[Diese Nachricht wurde von runkelruebe am 01. Aug. 2006 editiert.]

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

de cadhund
Mitglied
Konstrukteure


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

Beiträge: 138
Registriert: 08.12.2004

SW Office 2006 SP3.1

erstellt am: 01. Aug. 2006 09: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

Hallo Nicole,
dein Vorschlag mit dem Bild anklicken gefällt mir sehr. Leider kann ich die Excel-Datei nicht öffnen. Könntest du bitte den Code hier reinstellen?

------------------

de cadhund

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

runkelruebe
Moderator
Straßen- / Tiefbau




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

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 01. Aug. 2006 10:59    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 de cadhund 10 Unities + Antwort hilfreich

Oops,
habe die Datei nochmal neu reingestellt, falls es immer noch nicht funzt:

Code:
des Moduls:
Sub Bild1_BeiKlick()
    ActiveSheet.Shapes("Bild 1").Select
    frm_Abfrage.Show
End Sub

Public Sub BilderLoeschen()
    ActiveSheet.Unprotect Password:="1"
    Selection.Delete
    ActiveSheet.Protect Password:="1", DrawingObjects:=False, Contents:=True, Scenarios:= _
        True
    End Sub


Code:
der userform:
Private Sub CommandButton1_Click()
BilderLoeschen
Me.Hide
End Sub

Private Sub CommandButton2_Click()
MsgBox "Benutzerabbruch"
Me.Hide
End Sub


userform enthält nur 2 Knöppel Ja und Nein

ich hoffe, Du kommst weiter..

Nicole

------------------
Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

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

de cadhund
Mitglied
Konstrukteure


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

Beiträge: 138
Registriert: 08.12.2004

SW Office 2006 SP3.1

erstellt am: 01. Aug. 2006 11: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

Hallo Nicole,
das ist ja super. 
Jedoch habe ich da noch ein Problem:
Die Namen der Bilder (z.B. Bild1) sind nicht fest definierbar bzw. sind ja immer anders.

------------------

de cadhund

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

runkelruebe
Moderator
Straßen- / Tiefbau




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

Beiträge: 8075
Registriert: 09.03.2006

MS-Office 365 ProPlus x86
WIN7(x64)

erstellt am: 01. Aug. 2006 11:41    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 de cadhund 10 Unities + Antwort hilfreich

ja, ich weiß, und ich hab' befürchtet, daß Du es auch merkst 
Du müßtest jedem eingefügten Bild das jeweils angepaßte Makro zuweisen und zwar bei der Erzeugung der Bilder über Dein erstes Makro...

Aber ich kann Dir da leider nicht mehr weiterhelfen, zumal bei uns im Büro der Baum brennt...
Falls mir noch was einfallen sollte, melde ich mich, ansonsten muß Dich da leider wer anders unterstützen.
Sorry!

Nicole

------------------
Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße...

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

Thomas Harmening
Moderator
Arbeiter ツ




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

Beiträge: 2897
Registriert: 06.07.2001

Das Innerste geäussert
und aufs Äusserste verinnerlicht

erstellt am: 01. Aug. 2006 18:14    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 de cadhund 10 Unities + Antwort hilfreich

sorry, wenn ich jetzt ein wenig OT rede...

Warum um alles in der Welt will man alles 'neu' Programmieren - nur damit es nachher für den Anwender 'Narren'sicher sein soll?
Sind  die Anwender, die die Bilder löschen/einfügen müssen, alles 'Idioten'?
Oder kann man es den Anwendern zumuten, ohne Aktiven Blattschutz zu arbeiten und dieser wird nur gesetzt, wenn die Mappe nicht mehr verändert werden soll?
Ohne Blattschutz könnte der Code so aussehen

Code:
Sub delPic()
If TypeName(Selection) = "Picture" Then Selection.Delete
End Sub
aber die Entfernen Taste erfüllt denselben Zweck...

gruss Thomas, lasst doch den Anwendern kein stumpfes Werkzeug übrig, oder eine Arbeitsweise, bei der beide Hände gebunden sind.


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)2023 CAD.de | Impressum | Datenschutz