NOTESSIDAN

Allt om Lotus Notes & Domino




Exportera Lotus Notesdata till Wordformulär I
Jag har tidigare visat hur man exporterar Lotus Notesdata till word som etiketter, här är ett annat sätt att fylla i fördefinierade fält word mallar med Lotus Notesdata via en enkel notesagent.

För att exportera Lotus Notesdata till ett Wordfomulär behöver du göra så här
  • 1. Skapa ett worddokument, lägg till ett "Text Form Field" i dokumentet, högerklicka på fältet och välj Properties/Egenskaper och fyll i ett variabelnamn vid rubriken Bookmark (se bild)

  • 2. Spara Worddokumentet som en .dot fil och kom ihåg namnet på bokmärket, sökvägen och filnamnet.

  • 3. Lägg nedan script i en Lotus Notesagent, ändra sökväg till Wordfilen samt dina bokmärken och kör agenten.




Sub Initialize Dim ws As New notesuiworkspace ' Hitta dokumentet användaren står på eller har markerat Set doc = ws.currentdocument.Document Dim wordApp As Variant, wordDoc As Variant, wordDocs As Variant Set wordApp = CreateObject( "Word.Application" ) wordApp.Visible = True Set wordDocs = wordApp.Documents Call wordDocs.Add( "c:\minmall.dot", False ) ' Ändra till ditt mallnamn Set wordDoc = wordDocs(1) wordDoc.Activate ' Ändra till dina bokmärken och sätt texten som ska visas i word wordDoc.Bookmarks( "Bomärkesnamn1" ).Range.text = "Statiskt Text" wordDoc.Bookmarks( "Bomärkesnamn2" ).Range.text = doc.notesfältvärde(0) End Sub
Resultat när agenten körts är ett skapat Worddokument baserat på en wordmall där fält i word fyllts i baserat på antingen statisk information i scriptet eller värde som hämtats från ett Notesdokument.

Kolla också här

Uppdatering:

istället för att använda: wordDoc.Bookmarks( "Bomärkesnamn1" ).Range.text = "Text"
så bör man använda: wordDoc.FormFields("Bokmörkesnamn1").Result = "Text"



Relevanta Poster på Notessidan:



Publicerad 2007-03-21 | Kommentarer: 11 | Läsningar: 2452
Kommentarer

Den tjocke konsulten ( 2007-03-24 14:29:23 ) Websida
Det är kul när integrationmellan systemen fungerar så enkelt och bra! En detalj: när du jobbar med formfields så kanske du vill använda den collectionen i Word, inte bookmarks, bookmarks kan man placera lite vart som helst inte bara i anslutning till ff.
Thomas ( 2007-03-26 00:42:34 ) Websida
Kan man använda en collection istället för Bookmark ? sorry jag hänger inte med.

- Thomas
Robert ( 2007-03-28 20:56:12 )
Hej Thomas!

Hur skulle kodraden ut om man i Notesformuläret har en Dialog list med "Allow multiple values" ikryssad och har fler än ett värde i det fältet?
Man kan ju då inte skriva t.ex.
wordDoc.Bookmarks("Bomärkesnamn2").Range.text = doc.NotesFältvärde(0), för då får man ju bara 1:a värdet över till Wordformuläret.
Tacksam för svar.

Hälsningar
Robert
Thomas Adrian ( 2007-03-28 22:32:42 ) Websida
Hej Robert,
Implode är perfekt om man vill ta en lista och göra om till en sträng. följande gör en sträng av all värden i ett fält och separerar dom med komma.

wordDoc.Bookmarks("Bomärkesnamn2").Range.text = implode(doc.NotesFältvärde,",")

- Thomas
Robert ( 2007-03-29 11:32:57 )
Hej Thomas!

Tack för ditt snabba svar. Det fungerar fint.
Jag har ytterligare en fråga:
Om jag dessutom har ett Rich Text-fält i Notes-formuläret som jag använder för att endast skriva in text i (inte för att bifoga bilder/filer), men dock formaterad text, hur skulle kodraden se ut då för att överföra den formaterade texten från Notes-fältet till Word-bokmärket?

Tacksam för svar.

Hälsningar
Robert
Thomas Adrian ( 2007-03-29 13:15:53 ) Websida
Hej Robert,

Richtextfält är lite specella. Man kan konvertera richtext till text antingen via @formulas eller Lotusscript.

Om du vill använda @Formler : använd antingen @Abstract eller @Text (Endast R6)
Om du vill använda Lotusscript : använd metoderna getFormattedText eller getUnformattedText(Endast R6) på klassen notesrichtextitem.

Exempel :

Dim rtitem as notesrichtextitem
Set rtitem = doc.getfirstItem("Body")
wordDoc.Bookmarks("Bomärkesnamn1").Range.text = rtitem.getFormattedText(false,0)


- Thomas
Robert ( 2007-03-29 14:51:55 )
Hej Thomas!

Tack för ditt snabba svar igen. Det fungerar fint fast med en hake.
getFormattedText returnerar innehållet i det formaterade Body-fältet i Notes som plain text. Därför blir det plain text = oformaterat när innehållet landar i bokmärket i Worddokumentet.
Har du någon lösning på detta? Alltså att formateringen följer med över till Word.

Hälsningar
Robert
Thomas ( 2007-03-29 15:46:55 ) Websida
Det finns lite olika sätt att exportera richtext, jag har en bloggpost om detta här:

http://www.notessidan.se/A55B53/blogg.nsf/plink/PPAN-6M9CY5

Kom ihåg att det finns ingen standard för richtext. Microsoft har sin tolkning och Notes har sin. en exakt konvertering blir svår att åstadkomma.


- Thomas
Den tjocke konsulten ( 2007-03-31 21:38:38 )
Här jobbar du med Words Bookmarks collection
wordDoc.Bookmarks("Bokmärkesnamn1").whatever

Men vill du sätta text i formulärfält så tycker jag (som gillar att allt är starkt typat) det är bättre att jobba med Words formfields collection istället:
wordDoc.FormFields("Bokmärkesnamn1").egenskap

Då kan du styra formulärfältets egenskaper som maxlängd, typ (checkbox osv) från Notes om du vill.
Den tjocke konsulten ( 2007-03-31 21:46:25 )
Forumlärfälten i Word är inte gjorda för att presentera formaterad text på samma sätt som i Notes de är mer av typen "fylla i fält på en postgiroblankett"

Det borde inte vara något problem att lyfta över formaterad text till Word för presentation men lite knepeigare om den skall vara redigerbar av användaren i ett i övrigt låst dokument.
Robert ( 2007-04-03 12:56:20 )
Hej "Den tjocke konsulten"!
Du skriver att man kan använda
wordDoc.FormFields("Bokmärkesnamn1").egenskap alltså t.ex.
wordDoc.FormFields("RikText").Range.text = rtitem.getFormattedText(False, 0)
men den formaterade texten i Notes-fältet blir inte formaterad när den kommer över till bokmärket i Word. Min kod ser ut så här.

Dim rtitem As NotesRichTextItem
Set rtitem = doc.GetFirstItem("Body")
wordDoc.Bookmarks("Förnamn").Range.text = doc.Firstname(0)
wordDoc.FormFields("RikText").Range.text = rtitem.getFormattedText(False, 0)

Texten följer med över till Word men blir inte formaterad.

Min fråga till dig "Den tjocke konsulten" är:
Du skriver att det inte borde vara något problem att lyfta över formaterad text till Word för presentation.
Hur ska då kodraden se ut för att formateringen ska följa med över till Word (vi pratar då endast formaterad text).



Sök på Notessidan
Thomas Adrian
ThomasCertifierad utvecklare och administratör inom Notes & Domino

Kontakta mig







Senaste Sökningarna på Notessidan
Sön - sharepoint (R:1)
Sön - räkna and antal and besökare (R:0)
Sön - browser (R:17)
Sön - stoppar and mail (R:1)
Sön - korrupt (R:3)
Sön - böcker (R:0)
Sön - kalendern (R:12)
Sön - feature (R:15)
Sön - print and mime (R:2)
Sön - länka (R:0)
Sön - databasen (R:94)
Sön - access (R:47)
Sön - outlook (R:15)
Sön - webanvändare (R:0)
Sön - google and maps (R:6)
Sön - juffe (R:2)
Sön - uidoc.print (R:1)
Sön - java and lotusscript (R:26)
Sön - besök (R:0)




Databasstatistik Blogg
Uppdateras var 15:e Minut

Antal Poster:562
Antal Kommentarer: 1422
Alla sidvisningar idag:
Unika Besökare idag:
Databasstorlek: 129,5Mb
Fixup: 2019-12-15 00:31:21
FT:2019-12-15 17:39:35
DB Procent använd: 99,6
Antal Agenter: 42
Antal Formulär: 65
Antal Vyer: 60
Antal Dokument: 8078
Antal Image Resources: 108
Antal Subformulär: 18
Antal Scriptbibliotek: 11
Totalt Antal Designelement: 576
Antal Attachments: 159
Antal Konflikter: 0
Server version 1: 405
Server version 2: Release 9.0.1FP9|August 14, 2017
Server Plattform: Windows/64
Ändrad: 2019-12-15 21:34:08
Server Tidszon: Z=-1$DO=1$DL=3 -1 1 10 -1 1$ZX=131$ZN=W. Europe
Region:
Kommentarsspam Idag: 11
Kommentarsspam Totalt: 20078


BlogRankers.com

Top Sites at iWEBTOOL.com

Fight Spam! Click Here!

Bloggtoppen.se

Listed on BlogShares

Increase website traffic

Top Internet Blogs

Site Checker