afbeelding IN een bladwijzer array plaatsen en deze nadien overschrijven (MS word)

Status
Niet open voor verdere reacties.

Gojkl

Gebruiker
Lid geworden
19 aug 2010
Berichten
7
Hallo forumleden,

Ik ben op zoek naar een stukje code waarmee ik een afbeelding IN een bladwijzer array (met [ ] tekens) kan plaatsen
en deze nadien kan overschrijven door een andere afbeelding OF door "gewoon" kale tekst.

Ik heb de code gevonden om een afbeelding in een bladwijzer array kan plaatsen,
echter als ik deze code meerdere malen uitvoer dan komen er steeds meer afbeeldingen bij maar
word de bestaande afbeelding niet over schreven.

Tevens gebruik ik een "browse-button" om de afbeelding te zoeken in de computer.
daarnaast heb ik met een checkbox de mogelijkheid gemaakt te "switchen" tussen
het zoeken naar een afbeelding of om alleen tekst in te geven

De code is een functie en wordt na het drukken op de "OK-button" uitgevoerd.

Code:
Private Sub cmdOk_Click()

    Application.ScreenUpdating = False

    If CheckBox1.Value = True Then
        Dim ilImageGrootOpdrachtgever     As InlineShape
        Call InsertImageGrootOpdrachtgever(ilImageGrootOpdrachtgever, txtFileName)
    ElseIf CheckBox1.Value = False Then
        UpdateBookmark "ilImageGrootOpdrachtgever", txtSpare1.Value
    End If

    Application.ScreenUpdating = True
    Unload Me
    
End Sub

Function InsertImageGrootOpdrachtgever(ilImageGrootOpdrachtgever As InlineShape, txtFileName As String)
    Dim myRange         As Range
    
    Set myRange = ActiveDocument.Bookmarks("GrootAfbeeldingOpdrachtgever").Range

        If txtFileName <> "" Then
            Set ilImageGrootOpdrachtgever = ActiveDocument.Range.InlineShapes.AddPicture(txtFileName, , True, Range:=myRange)
            
            With ilImageGrootOpdrachtgever
                .Height = 56
                .Width = 84
            End With

        Else
            Exit Function
        End If
 
End Function

De code voor het steeds overschrijven van alleen tekst in een bladwijzer array heb ik een keer op internet gevonden en deze werkt wel.
Deze code wordt ook uitgevoerd na het klikken van de "OK-button".
Echter een combinatie van die twee heb ik nog niet kunnen vinden/zelf kunnen maken.

Onderstaand de code voor het alleen over schrijven van de "tekst bladwijzer array"


Code:
Sub UpdateBookmark(BookmarkToUpdate As String, TextToUse As String)   
    Dim BMRange     As Range
    
    Set BMRange = ActiveDocument.Bookmarks(BookmarkToUpdate).Range      ''''Identify current Bookmark range and insert text''''
    BMRange.Text = TextToUse
    
    ActiveDocument.Bookmarks.Add BookmarkToUpdate, BMRange              ''''Re-insert the bookmark''''
       
End Sub

MIjn office versie is 2007 en 2003 (verschillende computers) en op beide versies moet het kunnen werken.
Is er iemand die mij een duuwtje in de goede richting kan geven? al dan niet met een voorbeeld

Alvast bedankt,

Gojkl

p.s. heb het betreffende bestand maar meteen meegestuurd.
 

Bijlagen

Na zoveel bezichtigingen helaas geen enkel antwoord of tip.

Dan heb ik met betrekking tot het zelfde programma nog een vraag en als volgt:
is het mogelijk een bladwijzer te legen (waar een afbeelding in staat) en na dien te vullen met tekst.

Dit is een stukje code dat ik heb gevonden maar alleen werkt voor tekst en niet als er een afbeelding in de bladwijzer staat:

Code:
 ActiveDocument.Bookmarks("Bladwijzernaam").Range.Text = Empty

Om een afbeelding te "verwijderen" moet ik de .Text veranderen in iets anders alleen in wat weet ik niet.

Is er iemand die mij hiermee kan helpen?

Vriendelijke groet,

Gojkl
 
Heb je deze al geprobeerd?
Code:
    ActiveDocument.Bookmarks("Bladwijzernaam").Range.InlineShapes = Empty
 
Hallo OctaFish

Bedankt voor je reactie
Die regel code heb ik ook al geprobeerd en helaas zonder gewenst resultaat.

Code:
Dim oShp As InlineShape

For Each oShp In ActiveDocument.InlineShapes
oShp.Delete
Next

Momenteel ben ik bezig met bovenstaande code te stoeien... wat ik snel had gezien is dat de afbeeldingen kleurig uit de bladwijzers worden gehaald:D alleen wordt nu ook 1 bladwijzer verwijdert en daar moet ik nog even achteraan gaan waarom dat wel bij die 1ne gebeurt en niet bij andere bladwijzers...
 
Zal er ook nog eens induiken.... 't is wel een interessant probleem!
 
Deze code inmiddels werkende gekregen en geeft het gewenste resultaat:cool:
Code:
Dim oShp As InlineShape

For Each oShp In ActiveDocument.InlineShapes
oShp.Delete
Next
nu alleen nog voor zorgen dat ik de afbeeldingen kan verwijderen en er tekst voor in de plaats kan neerzetten...

bijgaand meteen het meest nieuwste bestand meegestuurd.
 

Bijlagen

Beste forumleden,

Zoals eerder aangegeven heb ik het deel om de afbeelding te overschrijven door een nieuwe werkende :D!

Nu zit ik alleen nog met het probleem om op de plaats waar nu de afbeeldingen komen de gebruiker de keuze te geven om daar evt. ook tekst neer te kunnen zetten, zelf ben ik daar al mee aan het zoeken gegaan en ik kan alleen bedenken dat ik in de volgende code dingen moet verbouwen:
Code:
If CheckBox1.Value = True Then
        Dim ilImageKleinOpdrachtgever     As InlineShape
        Dim ilImageMiddelOpdrachtgever    As InlineShape
        Dim ilImageGrootOpdrachtgever     As InlineShape
End If

Nu weet ik niet of het mogelijk is, maar mijn bedoeling is om de bladwijzer i.p.v. als inlineshape te definiëren als text te definiëren. hiervoor had ik de volgende code bedacht maar deze blijkt niet te werken:
Code:
If CheckBox1.Value = True Then
        Dim ilImageKleinOpdrachtgever     As InlineShape
        Dim ilImageMiddelOpdrachtgever    As InlineShape
        Dim ilImageGrootOpdrachtgever     As InlineShape
Else If CheckBox1.Value = False Then
        Dim ilImageKleinOpdrachtgever     As Text
        Dim ilImageMiddelOpdrachtgever    As Text
        Dim ilImageGrootOpdrachtgever     As Text
End If

heeft iemand misschien een idee?


Met vriendelijke groet,

Gojkl
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan