Dobrej pokec   Lišanská šlapka   MSDN   VB na Microsoft.cz   NCHAT Nový design
   Portál  O firmě  Profil  Reference  Produkty  Odkazy  Diskuse  Tisková verze 



  Novinky e-mailem
Pokud chcete být informováni o změnách ,přihlašte se k odběru novinek!
  
  
  Nejčtenější články
 Seznam všech českých hubů abecedně. (32118)
 Seznam hubů nad 100 uživatelů (20830)
 Konfigurovatelné rozbalovací menu (17445)
 Jak na makra (14330)
 Rozbalovací menu v JavaScriptu (2.) (12653)
  Nejstahovanější soubory
 Action Meter (1846)
 Slovní Fotbal (777)
 IE Boss Guard (484)
 zdroják slovní fotbal (383)
 Folder Watcher (370)
  Anketa

  Nabídka portálu

 Adobe Premiere
    Jak se dá udělat
 Alternativní prohlížeče
    FireFox
 ASP
    Tipy a triky
 Direct Connect
    Huby
    Scripty pro HUB
    Tipy a triky CZDC++
 Game Maker
    Tipy a triky
 Hry
    Akční
    Logické
 HTML
    Scripting (VBS,JS)
    Tipy a triky
 Internet
    Užitečné triky
 Microsoft Office
    Tipy, triky, návody
    Užitečná makra
    VBA Tipy a triky
 MS SQL Server
    Nastavení
    Seriály
    Tipy a triky
 Multimedia
    Návody
 Oracle
    PL/SQL
 PHP
    Jak na to
    Tipy a triky
 Užitečné odkazy
    Grafické programy
    Programátorské
 Visual Basic
    DirectX
    Formuláře
    Jak se dá udělat ...
    Užitečné funkce
    Win32Api
    Zdroje
 Visual Basic .NET
    Užitečné funkce
 Vtípky
    Vtipy a anekdnoty
 Vypalování
    DVD Shrink
    Tipy a triky
 Windows
    Jak se dá ...
    Tipy a triky pro XP
    Triky pro IE


Nabídka portálu se při zobrazení článku přesouvá na konec pravého sloupce nabídek.

 Problém se vložením obrázku ve Wordu

Autor: SwitCZ
Zdroj: 
Vytvořeno: 20.10.2003
Publikováno: 20.10.2003
Čtenářů: 3394
Unikátních: 3329


Jak jsem řešil vložení obrázku na přesné místo v dokumentu Word.Makra a postup

Pokud narazíte na stejný problém jako já pomůže Vám tento článek.O co tedy vlastně šlo:
Potřeboval jsem do dokumentu vložit na určenou pozici obrázek.Zdánlivě banální věc, pokud by ovšem nebyl dokument tvořen z tabulek, do kterých je vloženo několik textových polí a do jednoho takového textového pole jsem obrázek potřeboval vložit.Bohužel jsem zjistil, že na mém počítači vše funguje tak jak má, ovšem na straně serveru (dokument se otvíral na požadavek z jiné aplikace, naplnil se dle požadavku daty a poté se zobrazil přes prohlížeč (IE5.5 a vyšší) uživateli.), se dokument nechoval tak jak má.Buď byl obrázek posunut někam jinam v dokumentu včtně textového pole, nebo měl jiné rozměry než původní obrázek.

Použil jsem proto záložku (Bookmark).I potom vše na mém počítači OK, na serveru nenašel word záložku.Nakonec (asi po 5 hodinách jsem na to přišel.) Problém byl v tom, že záložka byla v textovém poli, i když abych nelhal doteď nevím proč v mém počítači záložku najde a na jiném ne? :o))

Řešení tedy spočívalo v tom, říct wordu, kde má onu záložku hledat.

Předkládám tedy celé řešení tohoto problému:

Mám v dokumentu wordu Textové pole v něm jiné s názvem "Text Box 103".Do něho umístím záložku se jménem POLEOBRAZKU.

Do dokumentu vložím následující makra:

'Test funkcnosti
Sub LocalTest()
   FillBookMark "picture", "\\ibm2k\oraapp\Pics\50.tif"
   ActiveDocument.Application.Visible = True
End Sub

Sub VlozObrazek(ByVal PicName As Variant)
   On Error Resume Next
   Dim oo As InlineShape
   
   ActiveDocument.Shapes("Text Box 103").Select
   Selection.GoTo What:=wdGoToBookmark, Name:="POLEOBRAZKU"
  
   Set oo = Selection.InlineShapes.AddPicture(FileName:= _
      PicName, _
      LinkToFile:=False, SaveWithDocument:=True)
   
    'Uprava velikosti obr
    Do While oo.Height > 195
        oo.ScaleHeight = oo.ScaleHeight - 5
       oo.ScaleWidth = oo.ScaleHeight
       DoEvents
    Loop
    Do While oo.Width > 200
       oo.ScaleWidth = oo.ScaleWidth - 5
       oo.ScaleHeight = oo.ScaleWidth
       DoEvents
    Loop
End Sub


Private Function FillBookMark( _
             ByVal BookMarkName As String, _
             ByVal BookMarkValue As String)
  Dim oBmk As Bookmark
  Dim pBookMarkName As String
  Dim I
  
  On Error Resume Next
  Err.Clear
  
 'Osetreni pro obrazek
 If UCase(BookMarkName) = "PICTURE" Then
   'Application.Visible = True
   DoEvents
   VlozObrazek BookMarkValue
   'Application.Visible = False
   Exit Function
 End If
  
  'Potrebuju vlozit vicekrat jednu hodnotu pojmenuji
  ' zalozku s poradovym cislem
  'Cyklus pro stejna data bmk,bmk1,bmk2,bmk3,....
  For I = 0 To 8
    pBookMarkName = IIf(I > 0, BookMarkName & _
                    Trim(Str(I)), BookMarkName)
    Selection.GoTo What:=wdGoToBookmark, Name:=pBookMarkName
    If Err.Number <> 0 Then
      Err.Clear
      Exit For
      Exit Function
    End If
    With Selection
      .Delete unit:=wdCharacter, Count:=1
      .InsertAfter BookMarkValue
      .Bookmarks.Add Range:=Selection.Range, Name:=pBookMarkName
    End With
  Next
  Set oBmk = Nothing
End Function




Příspěvky ke článku:



© Swit.cz, Marek Kočí 2003