21. december 2000 - 12:49 Der er 13 kommentarer og
1 løsning

VBA kontra JSCRIPT

Jeg er ved at at lave en webapplikation, som åbner et dokument i Word og fletter dette dokument med en SQL forespørgsel. Alle kommandoerne udføres via en funktion i JSCRIPT, og den ser lige nu sådan ud:

function Startword()
{
    Word = new ActiveXObject(\"Word.Application.9\");
        wdoc=Word.Documents.Open(\"<? echo $filename; ?>\");
        Word.Application.Visible = true;
        wdoc.MailMerge.MainDocumentType = 0;
        wdoc.MailMerge.OpenDatasource(
        \"F:\\\\php3\\\\phpScript\\\\mogm\\\\mogm\\\\DatabaseK\\\\ccpost.mdb\",
        0,0,1,0,\"\",\"\",\"\",\"\",0,0,\"Table customers\",\"\",\"\");
    }

Den virker bare ikke. Derfor har jeg prøvet at skrive den i VBA i stedet for, og der virker den, og ser sådan ud:

Sub Macro1()
\'
\' Macro1 Macro
\' Macro recorded 21-12-2000 by Administrator
\'
    ActiveDocument.MailMerge.MainDocumentType = wdFormLetters
    ActiveDocument.MailMerge.OpenDataSource Name:= _
        \"F:\\php3\\phpScript\\mogm\\mogm\\DatabaseK\\ccpost.mdb\", _
        ConfirmConversions:=0, _
        ReadOnly:=0, _
        LinkToSource:=1, _
        AddToRecentFiles:=0, _
        PasswordDocument:=\"\", _
        PasswordTemplate:=\"\", _
        WritePasswordDocument:=\"\", _
        WritePasswordTemplate:=\"\", _
        Revert:=0, _
        Format:=0, _
        Connection:=\"Table customers\", _
        SQLStatement:=\"\", _
        SQLStatement1:=\"\"
End Sub


Når jeg bruger JScript brokker den sig over et typemitchmatch, som den ikke brokker sig over i VBA. Hvad er der galt med syntaksen i JSCRIPT udgaven og hvordan får jeg lortet til at fungere som det skal?

21. december 2000 - 12:51 #1
Fejlen optræder nærmere sagt i OpenDataSource kommandoen.
Avatar billede madsholme Nybegynder
21. december 2000 - 19:13 #2
bare et skud...sæt \"\" omkring tallene i jscriptet........
21. december 2000 - 19:37 #3
Godt skud, jeg prøver!
21. december 2000 - 19:55 #4
Jeg prøved med at sætte \"\" om tallene, og jeg prøvede derefter at udskifte tallene med true/false istedetfor 0/1, men det virkede heller ikke. Tak for skuddet, hvis bare der var flere skud end dit ene. Du har vel ikke en idé om hvilket emne der ville være bedst at stille dette spørgsmål op i.
Avatar billede madsholme Nybegynder
21. december 2000 - 19:57 #5
nu har jeg regnet ud hvad dir problem er!..tror jeg :)

prøv at sætte alle felter i databsen til at være teskt felter.....og så smæk \"\" om alt....bare prøv det :=)
Avatar billede mmp Nybegynder
21. december 2000 - 20:29 #6
-> madsholme. Er du bange for at blive skudt igen?
21. december 2000 - 21:02 #7
Hvor kommer den teori fra, og hvorfor? Du skal være meget sikker på løsningen før jeg piller ved alle datofelterne og ændrer ID\'erne til tekst strenge. Jeg håber der muligvist er andre løsninger.
Avatar billede madsholme Nybegynder
21. december 2000 - 21:05 #8
well..det med true/false felter er noget tricky pis!

det afhænger oxo af hvad sprog det er p..sandt/falsk
21. december 2000 - 21:22 #9
Sandt/falsk virker vidst kun når det er en dansk version af MS Access.
Avatar billede madsholme Nybegynder
21. december 2000 - 21:24 #10
ja...elelr driverne...det er sq tricky!

tag backup af dben og skif til text felter
21. december 2000 - 22:54 #11
Hvordan vil du lave et Autonumber-felt til et tekst-felt uden at få en masse problemer med det.
Avatar billede madsholme Nybegynder
21. december 2000 - 23:14 #12
ja..den skal du så ikke ændre :)
04. januar 2001 - 15:22 #13
Jeg løste det selv uden brug af vanvittige metoder:)
10. januar 2001 - 11:29 #14
Der er en hr. Brock som har klaget over min afslutning af dette spørgsmål, og derfor vil jeg gerne uddybe min løsning. Jeg syntes svaret fra dig, madsholme, var meget besværligt at afprøve og betragtede det som et dårligt svar, som jeg ikke ville bruge point på. Selv fandt jeg ud af at det bare var en enkelt parameters type som  skulle ændres, og det syntes jeg var grund nok til at afslutte spørgsmålet.
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
Kurser inden for grundlæggende programmering

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