[ comi1987 @ 02.06.2013. 17:11 ] @
Pre svega pozdrav svima!
Potrebna mi je vasa pomoc
Programiranje mi nije bas jaca strana ali sam uspeo uz pomoc Interneta i foruma da napravim ono sto mi treba. Ja srecan, sve radi kako treba, jedva cekam da ovo cudo od “programa” odnesem na posao, da sebi skratim muke i resim se duplog posla, ali da ne bude sve tako jednostavno, na poslu cvrc , nece da radi. Radi se o tome sto sam sve radio u office 2007 a na poslu je office 2003. Dokument sam sacuvao kao 2003 verziju i otvorim je na poslu ali kada pokrenem macro izbaci mi gresku “Run-time error 5941. the requested member of the collection does not exist”.

Uglavnom, poenta macroa je, kada klikenem na dugme, da kreira mail, sa svim podacima za slanje i u telo maila ubaci vec unapred zadati tekst + promenjivi tekst iz odredjenih Text Form polja, doda default potpis is outlooka i istovremeno stampa taj dokument.

Ako neko zna u cemu je problem, bio bih mu zahvalan na pomoci.

Code:


Private Sub CommandButton1_Click()

Dim OL As Object
 Dim EmailItem As Object
 Dim Doc As Document
 
 Application.ScreenUpdating = False
 Set OL = CreateObject("Outlook.Application")
 Set EmailItem = OL.CreateItem(olMailItem)
 Set Doc = ActiveDocument
 
  
 With EmailItem
.Display
End With
 
 With EmailItem
 
 .Subject = "Fiksni1 " & ActiveDocument.Bookmarks("Text3").Range.Fields(1).Result.Text & _
     " - " & ActiveDocument.Bookmarks("Text1").Range.Fields(1).Result.Text    ' - GRESKA SE POJAVLJUJE OVDE, KADA STAVIM OVO POD KOMENTAR POJAVI SE'
 .To = "[email protected]"
 .Cc = " [email protected] "
 .htmlbody = "<p> <font face=""Arial"" size=12>Fiksni1,  <br></br> fiksni2 " & _
     ActiveDocument.Bookmarks("Text3").Range.Fields(1).Result.Text & " fiksni3 " & _
     ActiveDocument.Bookmarks("Text4").Range.Fields(1).Result.Text & " fiksni4 " & _
     ActiveDocument.Bookmarks("Text1").Range.Fields(1).Result.Text & vbNewLine & _
     vbNewLine & EmailItem.htmlbody  '  - OVDE, KADA STAVIM OVO POD KOMENTAR' 
  .Display
 End With
 
 With ActiveDocument
     .Shapes(1).Visible = msoFalse ' – OVDE….'
     .PrintOut Background:=False
     .Shapes(1).Visible = msoTrue
 End With
 
 Application.ScreenUpdating = True
 Set Doc = Nothing
 Set OL = Nothing
 Set EmailItem = Nothing

End Sub


[Ovu poruku je menjao 3okc dana 02.06.2013. u 21:00 GMT+1]
[ 3okc @ 02.06.2013. 19:59 ] @
S obzirom da si program testirao na novijoj verziji, moguće je da se koriste objekti koji u starijoj postoje pod drugim imenom.

Primećujem da koristiš imenovana 'polja' i bukmarke a oni se od v2007 svi nalaze pod zaj. imeniteljem QuickParts. -Pokušaj u tom pravcu nešto.

Takođe, uporedi sa kodom za slanje mejla iz Excela - ne bi trebala da je bitna razlika: