[ dux_cro @ 17.02.2007. 20:03 ] @
Pozdrav,
kao što naslov kaže potreban mi je macro koji bi kopirao selektiran dio iz Excel-a u word ali kao Formatted text sa linkom.
Da malo pojasnim:
Imam Excel book sa tablicom i ja ju selektiram, otvorim word odem na paste-special i tamo stavim Formatted Text i označim "Paste Link" kako bi svaka promjena u excelu bila automatski vidljiva u word-u.

Pokušao sam sa recording macro, ali ne znam kako sa jednim macro-om pokrenuti drugi (jer macro u excelu selektira i kopira, a drugi macro u wordu napravi paste).
Može li netko pomoći ??
Puno hvala
I.
[ Brz_na_tastaturi @ 17.02.2007. 21:33 ] @
Ako koristiš uvek isti (već postojeći) word dokument onda makrou u word dokumentu das naziv AutoOpen i on će se izvršiti uvek kad otvoriš taj dokument, a u excelu u makrou koji kopira podatke dodaš deo koji će da pozove otvaranje tog word dokumenta.
Ako uvek kreiraš novi dokument u kome pastuješ podatke onda bi teoretski (ovo nisam probao) moglo tako što ćeš da kreiraš šablon i kad iz excela pozoveš kreiranje word dokumenta podešiš da word koristi taj šablon.
[ Jpeca @ 19.02.2007. 08:32 ] @
Ovo je osnovna verzija makroa koja se startuje iz Worda i otvara Excel radnu tabelu iz koje se potom bira opseg za kopiranje
Code:

Sub PasteLink()
'
' PasteLink Macro
' Makro otvara Excel tabelu i na izabrani opseg kopira na
' tekucu poziciju u aktivnom word dokumentu
'
' P.Jovanovic  za elitisecurity.org
' 19/02/2007
'
Dim xlApp As Excel.Application
Dim rngTemp As Excel.Range
Dim wkb As Excel.Workbook
Dim FilePath As String

' Open Excel table
     Set xlApp = New Excel.Application  ' Pokrece Excel aplikaciju
     FilePath = "C:\Temp\Test.xls"
     Set wkb = xlApp.Workbooks.Open(FileName:=FilePath, ReadOnly:=True)
     xlApp.Visible = True
' Opseg koji se kopira
     Set rngTemp = xlApp.InputBox("Selektuj opseg za kopiranje", "Copy Link", Type:=8)
     rngTemp.Copy
' Paste u Word dokument
    Selection.PasteExcelTable True, False, False
' Zatvaranje Excela
     xlApp.DisplayAlerts = False ' Da ne pita za cuvanje
     xlApp.Quit
     xlApp.DisplayAlerts = True
     Set xlApp = Nothing
End Sub


U kodu je fiksirana tabela koja se poziva. Ukoliko je potrebno da biraš tabelu pozovi Open dijalog. Vidi npr. http://www.praktikum.co.yu/office/excel/xl_030.htm.
Kompletna verzija ovog makro treba da radi sa izuzetcima - ne postoji fajl i sl.
[ dux_cro @ 22.02.2007. 13:15 ] @
Puno hvala na trudu, ali imam neki problem.
Napisao si da se macro pokreće iz Worda, a iz worda on daje greške "Compile error: User-defined type not defined" i u Visual studio editoru označi red :
Dim xlApp As Excel.Application
Radi se o office-u 2000 na Win xp
Hvala na pomoći
[ Jpeca @ 22.02.2007. 13:32 ] @
Da zaboravio sam da naglasim da kad u kad ubaciš ovaj kod u Word VBE treba da postaviš referencu na Excel biblioteku.
Tools/References pa nađi i štikliraj Microsoft Excel .... object library.
[ dux_cro @ 22.02.2007. 13:41 ] @
Hvala, sad mi daje drugu grešku (vjerujem da je opet neka sitnica, al kad ne znam...) :
"Compile error : Method or data member not found" i zacrni mi ".PasteExcelTable"

Hvala
[ dux_cro @ 22.02.2007. 14:07 ] @
Uspio sam... Zamjenio sam tvoj kod :
Code:
Selection.PasteExcelTable True, False, False

sa :
Code:
 Selection.PasteSpecial Link:=True, DataType:=wdPasteRTF, Placement:= _
        wdInLine, DisplayAsIcon:=False 


i sad radi.
Još jedno puno hvala, al nažalost ovo nije jedino pitanje koje ću ovdje postaviti...imam ih ja još puno.
Pozdrav