Avatar billede masteraaen Novice
16. april 2011 - 21:34 Der er 6 kommentarer og
1 løsning

SQL til Word

Hej.


Jeg har en mysql-database på hjemmesiden.

jeg kunne godt tænke mig, at bruge en word-skabelon til at danne nogen dokumenter til brugerne. Dokumenterne skal indeholde nogen af de informationer, der ligger i min mysql-database.

Derfor vil jeg gerne, at brugeren kan trykke på et link, hvorefter word-skabelonen åbner og er udfyldt på visse steder med data fra mysql-databasen.

Kan det lade sig gøre? Og hvordan kommer jeg i så fald i gang med det?

Jeg kan php og vb til husbehov....
Avatar billede iver_mo Nybegynder
16. april 2011 - 21:42 #1
Det kan lade sig gøre og hvis du vil bruge PHP er dette et godt sted at starte.

http://php.net/manual/en/book.com.php
Avatar billede masteraaen Novice
16. april 2011 - 22:17 #2
Det ser lovende ud. Har prøvet at copy paste følgende php-kode ind på en tom side, bare for at se, om jeg kunne komme i gang.

Men jeg får fejlen: "Cannot instantiate non-existent class: com "...

Bare jeg lige kunne komme i gang/få hul på det. Skal man ind og lave en php.ini-fil? Hvordan eller hvor gør man det henne? Sitet kører jo allerede fint med php, så jeg forstår det ikke rigtigt...


Jeg satte følgende ind, som er copy pastet fra et eksempel på nettet:


<?php
define('wdPropertyTitle', 1);
define('wdPropertySubject', 2);
define('wdPropertyAuthor', 3);
define('wdPropertyKeywords', 4);
define('wdPropertyComments', 5);
define('wdPropertyTemplate', 6);
define('wdPropertyLastAuthor', 7);

$word = new COM("word.application") or die ("Could not initialise MS Word object.");
$word->Documents->Open(realpath("sample.doc"));
$Author = $word->ActiveDocument->BuiltInDocumentProperties(wdPropertyAuthor);

echo $Author;
?>
Avatar billede iver_mo Nybegynder
16. april 2011 - 23:22 #3
Prøv et helt basic script som dette:

<?php
// starting word
$word = new COM("word.application") or die("Unable to instantiate Word");

//bring it to front
$word->Visible = 1;

//open an empty document
$word->Documents->Add();
?>

Husk, at der skal være Word installeret på serveren.

Se denne side for mere inspiration:
http://www.php.net/manual/en/class.com.php
Avatar billede masteraaen Novice
17. april 2011 - 09:07 #4
Ved ovenstående får jeg følgende fejl:

Fatal error: Cannot instantiate non-existent class: com

- men jeg har heller ikke sikret mig installation af word på serveren.
Serveren ligger jo ved Web10. Kan man ikke få den til at bruge brugerens egen word?

Eller er det en helt dum måde, jeg tænker det her ind? Er det bedre, at bruge rene html-sider? Det skal bare være ret udskriftsvenligt, og så skal det gerne kunne tilrettes evt. af brugeren selv - det er derfor jeg mener, at word må være den rigtige vej...

Kan jeg selv installere word på en web10-server?
Avatar billede iver_mo Nybegynder
17. april 2011 - 12:38 #5
Så vidt jeg kan læsr mig til er det noget man skal have med i sin installation. Jeg har desværre ikke adgang til min før i aften eller i morgen aften. Så jeg har ikke noget at sammenligne med.

Umiddelbart vil jeg dog mene, at det er den rigtige vej at gå hvis folk skal have mulighed for selv at tilpasse. Hvis ikke, ville jeg nok køre den rent i html med en printervenlig version.
Avatar billede masteraaen Novice
17. april 2011 - 21:31 #6
Hvis du finder ud af det, må du gerne lige sige til. Jeg prøver selv videre. :-)
Avatar billede masteraaen Novice
18. maj 2011 - 11:23 #7
Jeg synes det er kryptisk. Kan man ikke få systemet til at benytte brugerens egen word-installation?
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
Tag et kursus i Word og øg effektiviteten

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