![]() |
|
![]() |
#1 |
![]() Neuer Benutzer |
![]() Einen Schönen guten Tag zusammen,
mir ist heute eine Frage aufgekommen, da ich ein Word Dokument entwerfen will, dass es ermöglicht, Bilder (in meinem Fall Länderflaggen) möglichst einfach so zu ersetzen, dass man eine Flagge einfach durch eine Andere ersetzt. ![]() Auf diesem Bild will ich zum Beispiel ohne viel zu verschieben die Deutschland Flagge durch z.B. die Italienische ersetzen. Diese müsste dann von der Festplatte neu hineingeladen werden. Gibt es da eine Möglichkeit? Makros werden mir leider nicht viel helfen, da ich viele Positionen eingeben müsste(Es handelt sich um eine Vorlage für Namensschilder). Mit freundlichen Grüßen, BlueWords |
![]() |
![]() ![]() |
![]() |
#2 |
![]() MOF Guru |
![]() Hallo BlueWords,
Zitat: Makros werden mir leider nicht viel helfen Eine kleine Spielerei, die Du auf Deine Bedürfnisse hin anpassen kannst: Erstelle für die Flaggen aus den Steuerelementen Bilder - dieses kleine Landschaftsmalerei-Symbol. Ändere die Größe, Eigenschaften wie gewünscht. Kopiere diese sooft wie nötig. Wichtig: Aus der Steuerelement-Toolbox! Kopiere folgende Codes an die bezeichneten Stellen innerhalb Deiner Mappe: Klassenmodul "ThisDocument" Code: Option Explicit Private Sub Document_Open() Dim sh As Shape Dim imAkt As clsImage For Each sh In ThisDocument.Shapes If sh.OLEFormat.ClassType = "Forms.Image.1" Then Set imAkt = New clsImage Set imAkt.pImage = sh.OLEFormat.Object colImages.Add imAkt End If Next sh End Sub Private Sub Document_Close() Dim sh As Shape For Each sh In ThisDocument.Shapes If sh.OLEFormat.ClassType = "Forms.Image.1" Then Set sh.OLEFormat.Object.Picture = Nothing End If Next sh Set colImages = Nothing End Sub ![]() In ein Allgemeines Modul (unter Einfügen|Modul) Code: Option Explicit Public colImages As New Collection namens (umbenennen!) clsImage Code: Option Explicit Public WithEvents pImage As Image Private pObjDicDatName As Object Private pLngIndex As Long Property Get objDicDatNam() As Object Const strPfad As String = "DeinPfadZuDenFlaggenbildchen\" Dim strPicName As String If pObjDicDatName Is Nothing Then Set pObjDicDatName = CreateObject("Scripting.Dictionary") strPicName = Dir(strPfad & "*.jpg") Do While strPicName <> vbNullString pObjDicDatName(pObjDicDatName.Count) = strPfad & strPicName strPicName = Dir Loop End If Set objDicDatNam = pObjDicDatName End Property Property Let LngIndex(Index As Long) pLngIndex = Index End Property Property Get LngIndex() As Long LngIndex = pLngIndex End Property Private Sub pImage_Click() If Not Me.pImage.Picture Is Nothing Then Select Case True Case Me.LngIndex > Me.objDicDatNam.Count - 2 Me.LngIndex = 0 Case Else Me.LngIndex = Me.LngIndex + 1 End Select Else Me.LngIndex = 0 End If Set Me.pImage.Picture = Nothing Me.pImage.Picture = LoadPicture(objDicDatNam(Me.LngIndex)) End Sub Dann erstmal speichern, Datei schließen und wieder öffnen. Ein doofer Wermutstropfen: Meine Grafikarte (ich vermute, daran liegt's) aktualisiert die Bilder leider nicht sofort - ich muss erst ein wenig im Dokument scrollen, um eine Änderung zu sehen. Besser klappt das bei Commandbuttons, die man anstelle der Bilder nehmen kann, dann hat man aber leider immer noch den hässlichen Rahmen drumherum. Wie gesagt - eine Spielerei und Fingerübung, ohne wirklich ernsthaften Hintergrund. Grüße EarlFred __________________ Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren Für 5 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,037% per 04.04.2018) - eine tolle Geste! Geändert von EarlFred (21.06.2011 um 16:24 Uhr). Grund: Hinweis ergänzt |
![]() |
![]() ![]() |
![]() |
#3 |
Threadstarter
![]() ![]() Neuer Benutzer |
![]() Ich danke dir ehrzlich für deine Antwort EarlFred. Ich werde es(morgen) mal ausprobieren.
Das einzige Problem ist m.M., dass dieses Dokument hauptsächlich nicht von mir bedient wird, sondern von einer MA, die noch weniger Kenntnisse hat als ich. Gibt es evt. eine einfache Methode? Mit freundlichen Grüßen, BlueWord |
![]() |
![]() ![]() |
![]() |
#4 |
![]() MOF Guru |
![]() Hallo BlueWord,
Zitat: Gibt es evt. eine einfache Methode? Zitat: ich habe Null Ahnung von Word Vielleicht schaut ja ein Word-Wissender vorbei, der Dir das sagen kann. Welche Methoden "von Hand" gangbar sind, hängt vielleicht auch davon ab, wie viele unterschiedliche Flaggen es gibt und wie viele Namensschilder es werden sollen. Einfaches Copy&Paste tut's nicht? Grüße EarlFred __________________ Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren Für 5 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,037% per 04.04.2018) - eine tolle Geste! |
![]() |
![]() ![]() |
![]() |
#5 |
![]() MOF Meister |
![]() In den Bildtools gibt es die Funktion Grafik ändern.
Warum nimmst Du nicht einfach diese? Gruß G.O. |
![]() |
![]() ![]() |
![]() |
#6 |
Threadstarter
![]() ![]() Neuer Benutzer |
![]() Die Funktion steht bei mir aus irgendeinem Grund gar nicht zur Verfügung.
Edit: habe gerade festgestellt, dass die Funktion zwar in einem normalen(neuen) Worddokument klappt, nur in meinem Dokument mit Tabelle nicht Edit 2: Hat sich erledigt, vielen Dank für eure Hilfe! Geändert von BlueWord (22.06.2011 um 08:29 Uhr). |
![]() |
![]() ![]() |