Avatar billede sbay Nybegynder
04. november 2002 - 14:02 Der er 18 kommentarer og
1 løsning

Set uidoc

Hvorfor kan jeg ikke få lov at sætte uidoc med det her:
    Dim workspace As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Set uidoc = workspace.CurrentDocument

???
Avatar billede c_random Nybegynder
04. november 2002 - 14:10 #1
Hvorfra udføres koden?
Avatar billede sbay Nybegynder
04. november 2002 - 14:16 #2
en knap i et view - og det er vel her filmen knækker....
Avatar billede sbay Nybegynder
04. november 2002 - 14:22 #3
Jeg skal gerne have overført data fra valgte dokumneter i et view til nogle variabler i en action:

Sub Click(Source As Button)
   
    Dim workspace As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Set uidoc = workspace.CurrentDocument
   
    Dim s As New notessession
    Dim todaydate As New notesdatetime("Today")
    Dim word As Variant
    Dim wordoc As Variant
    Dim db As NotesDatabase
    Dim collection As NotesDocumentCollection
    Dim doc As NotesDocument
    Dim count As Integer
   
    Set db = s.CurrentDatabase
    Set collection = db.AllDocuments
    Set doc = collection.GetFirstDocument
   
    Dim test As String
    Dim todaysdate As String
    Dim orderid As String
    Dim producedby As String
    Dim storeid As String
    Dim customername As Integer
    Dim address As String
    Dim citytown As String
    Dim postcode As String
    Dim daytimeno As String
    Dim eveningno As String
   
'Predefined values: (replace with field values from uidoc)
    test = doc.FieldGetText("Form")   
   
    todaysdate = xxx
    orderid = uidoc.FieldGetText( "Form" )
    producedby = s.username
    storeid = "12345"
    customername = 1
    address = "Apartment 5c, 5 Test Avenue"
    citytown = "Testtown"
    postcode = "XX5 5XX"
    daytimeno = "1234567890"
    eveningno = "0987654321"
   
    For i=0 To 1
'Create the Word object:
        Set word = CreateObject("Word.Application") 'Create Word object
        Call word.documents.add("c:\test.dot") 'Create a new document based on the template "Return and Uplift.Dot"
        Set worddoc = word.activedocument 'Get a handle for the active document
       
'Assign the field values:
        customername = customername + 1
        worddoc.FormFields(1).result = todaysdate
        worddoc.FormFields(2).result = orderid
        worddoc.FormFields(3).result = producedby
        worddoc.FormFields(4).result = storeid
        worddoc.FormFields(5).result = Str$(customername)
        worddoc.FormFields(6).result = address
        worddoc.FormFields(7).result = citytown
        worddoc.FormFields(8).result = postcode
        worddoc.FormFields(9).result = daytimeno
        worddoc.FormFields(10).result = eveningno
       
        worddoc.saveas(Str$(customername)) 'save the document with the filename of "John Doe.doc"
        'Worddoc.PrintOut
        word.visible = True 'Comment this line if you don't want to show Word.
       
    Next
'word.quit 'remove comment if you want to close rather than show Word.
   
End Sub
Avatar billede sbay Nybegynder
04. november 2002 - 14:24 #4
Det skal lige siges at dette kun er kode til test!
Avatar billede c_random Nybegynder
04. november 2002 - 14:28 #5
Det/de valgte dokument(er) ligger i variablen NotesDatabase.UnprocessedDocuments

Set doccoll=db.UnprocessedDocuments
Avatar billede sbay Nybegynder
04. november 2002 - 14:39 #6
Jeg får en fejl her: Type mismatch!

doc er sat!

test = doc.FieldGetText("Form")
Avatar billede c_random Nybegynder
04. november 2002 - 14:44 #7
Du er med på at db.UnprocessedDocuments returnerer en collection ikke?

Set doccoll=db.UnprocessedDocuments
If doccoll.count > 1 Then
  set doc=doccoll.getfirstdocument
  While Not doc Is Nothing 
      ....
      Set doc=doccoll.getnextdocument(doc)
  wend
end if
Avatar billede c_random Nybegynder
04. november 2002 - 14:51 #8
Hov vent - du bruger doc.fieldgettext - og doc er en instans af NotesDOcument - fieldgettext er en metode på NotesUIDOcument. Brug evt. GetItemValue istedet
Avatar billede sbay Nybegynder
04. november 2002 - 15:06 #9
det er mystisk - det hjælper lige lidt med GetItemValue - samme fejl og jeg har lige rettet til med Collection Wend osv.

Skal test være en variant?
Avatar billede sbay Nybegynder
04. november 2002 - 15:07 #10
Det skulle den! Nu vil den, men det undrer mig!
Avatar billede sbay Nybegynder
04. november 2002 - 15:08 #11
c random> du er nødt til at lave et svar for at få point ;-)
Avatar billede c_random Nybegynder
04. november 2002 - 15:17 #12
GetItemValue returnerer et string-array, din test var en string-variabel
Avatar billede sbay Nybegynder
05. november 2002 - 10:13 #13
hmmm nu får jeg en mismatch fejl her: worddoc.FormFields(1).result = FormType

FormType er en Varient, men hvordan får jeg den så proppet ind i mit dokument?
Avatar billede c_random Nybegynder
05. november 2002 - 10:22 #14
Er din FormType et array? I så fald prøv worddoc.FormFields(1).result = FormType(0)
Avatar billede sbay Nybegynder
05. november 2002 - 10:42 #15
ja det må det være - værdien kommer fra GetItemValue!
Avatar billede sbay Nybegynder
05. november 2002 - 11:09 #16
Du er bar en helt! Nu vil jeg prøve at lave min test om til det jeg faktisk skal bruge!
Avatar billede sbay Nybegynder
05. november 2002 - 13:54 #17
Og det virker sådan nogen lunde - bare ikke med at få sat en længere tekst ind i: worddoc.FormFields(4).result = Body(0).

Fejl: MS Word - String too long!

Gad vide hvor lang en string må være - 255 tegn ????

Hvad gør man i stedet?
Avatar billede sbay Nybegynder
05. november 2002 - 14:51 #18
hmmm, den må være godt 32000 tegn, så det er vist ikke helt det der er galt. Men mit Body felt stammer jo egentlig fra et RichText felt!
Avatar billede sbay Nybegynder
07. februar 2006 - 14:35 #19
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester