Podatek iz Excela

Pomoč pri izdelavi makrov
Odgovori
Stenly
Prispevkov: 223
Pridružen: Sr Jul 27, 2005 11:29 pm

Podatek iz Excela

Odgovor Napisal/-a Stenly »

Pozdravljeni

Word mi nekako še ne leži in imam težave.
Imam program za obdelavo nekih analiz v excelu. Na koncu tega je poročilo (kar obsežno - 6 strani). Glede na to, da bolj obvladam excel in da ima poročilo veliko tabel in grafov, sem ga zastavil v excelu. Zataknilo se mi je na koncu, pri oblikovanju mnenja. Ta je tudi različen in se spreminja, glede na podatke. Zaradi oblike, sem tu vstavil Wordov dokument v excel.
Sedaj pa moja težava: Ta wordov dokument bi rad shranil pod številko vzorca, ki pa se nahaja v Excelovem DZ.
Težavo imam le: kako v word dobiti podatek iz Excela.
Poskušal sem z:

Koda: Izberi vse

 podatek = Workbooks("Book1.xls").Worksheets(List1").Range("A1").Value
V kolikor iz Excela v Excel z VBA-jem prenašam te podatke zadeva dela. V kolikor pa iz worda iščem ta podatek, pa ne.
Torej sprašujem, kako bi v wordu prišel do tega podatka.

Za odgovor se zahvaljujem.

Lp
Matija
Prispevkov: 29
Pridružen: To Nov 08, 2005 1:39 pm

Odgovor Napisal/-a Matija »

Pozdravljeni!

Da sodelujeta Excel in Outlook z VBA kodo je potrebno v nekaterih primerih v VBA potrditi:
Tools\References => Microsoft Outlook 10.0 Object Library.
Mogoče bo zato v Word VBA potrebno potrditi Microsoft Excel 10.0 Object Library.

Lep pozdrav
Matija
Stenly
Prispevkov: 223
Pridružen: Sr Jul 27, 2005 11:29 pm

Odgovor Napisal/-a Stenly »

Pozdravljen Matjaž

Odgovor na moje vprašanje ste mi pred kratkim že poslali kot nasvet iz starega foruma "povezava worda in Excela". Žal pa mi koda ne dela :cry: . Ustavi se že na prvi vrstici,...
Kodo sem res malce skrajšal (za moje potrebe)

Koda: Izberi vse

' www.matjazev.net
' 10.03.2004
Sub PreberiPodatkeIzExcela()
  Dim objExcel As Excel.Application
  Dim objDelZvezek As Excel.Workbook
  Dim objList As Excel.Worksheet
  Dim oRng As Excel.Range
  Dim ExcelNiZagnan As Boolean
  Dim ExcelovaDatoteka As String

  ' Excelova tabela s podatki
  ExcelovaDatoteka = "c:\podatki.xls"

  ' Ali Excel že tece
  On Error Resume Next
  Set objExcel = GetObject(, "Excel.Application")

  If Err Then
    ExcelNiZagnan = True
    Set objExcel = New Excel.Application
  End If

  On Error GoTo Err_Handler

  Set objDelZvezek = objExcel.Workbooks.Open(FileName:=ExcelovaDatoteka)
  Set objList = objDelZvezek.Worksheets("List1")
  
  ' recimo, da se številka nahaja v celici A1
  Dim Stevilka As String
  Stevilka = objList.Range("a1").Value
MsgBox Stevilka

  If ExcelNiZagnan Then
    objExcel.Quit
  End If

  ' sprostim za sabo
  Set oRng = Nothing
  Set objList = Nothing
  Set objDelZvezek = Nothing
  Set objExcel = Nothing
  
  Exit Sub

Err_Handler:
   MsgBox "napaka pri odpiranju datoteke [" & ExcelovaDatoteka & "]! " & _
          Err.Description, vbCritical, "NAPAKA: " & Err.Number
   If ExcelNiZagnan Then
       objExcel.Quit
   End If
End Sub
Res je tudi, da worda ne poznam dovolj :oops: . Zakaj ta koda ne dela in mi v MsgBox-u ne da vrednosti?
Makro se z napako ustavi že na prvi vrstici: Dim objExcel As Excel.Application
Imam Office XP
Kodo sem zagnal preko menija Orodja>>Makro,...
Sem na kaj pozabil?

Lp
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Zdravo,

(sem čez lužo zato malce zakasneli odgovori). No odgovor na vaše vprašanje pa vam je podal že moj predhodnik. Če želite Word in Excel povezati na takšen način, morate imeti nanj referenco. Zatorej naredite natanko to, kar vam je svetoval Mitja.
lp,
Matjaž Prtenjak
Administrator
Stenly
Prispevkov: 223
Pridružen: Sr Jul 27, 2005 11:29 pm

Odgovor Napisal/-a Stenly »

Zahvalil bi se obema.

Za nasvet od Matije nisem bil pozoren :( . Priznam, da ne najdem navedenega potrditvenega polja :oops: . Imam SLO office. Še malo pomoči prosim.

Lp
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Pojdite v VBA urejevalnik in izberite vaš projekt, ter nato v meniju Tools/References. V seznamu poiščite tisto, kar vam je napisal Mitja (številka pa se lahko razlikuje, če imate novo Pisarno, potem bo številka 11!). Več pa si lahko pogledate v že omenjeni .CHM datoteki.
lp,
Matjaž Prtenjak
Administrator
Stenly
Prispevkov: 223
Pridružen: Sr Jul 27, 2005 11:29 pm

Odgovor Napisal/-a Stenly »

Yes! Yes! Yes!

Pa je uspelo :D .
Še 1x hvala obema.

Lp
Odgovori