Jump to content
Fórum Script Brasil
  • 0

Como Transformar Um Arquivo Doc Em Binario Para Gravar No Banco De Dad


ADL
 Share

Question

1 answer to this question

Recommended Posts

  • 0

use word application para ler os DOC...

alguma coisinha referente

http://www.4guysfromrolla.com/webtech/062402-1.shtml (em inglês)

e esse outro em francês eu acho...

http://www.asp-php.net/scripts/asp-php/asp_et_word.php

o codigo é do ultimo site mais não testei...

<% ' Export Word pour Access - Script de Guillaume

' Connexion à la base de données.
' Pensez à remplacer db_path par votre chemin + fichier

set db = Server.CreateObject("ADODB.Connection")
db.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & db_path

set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * from Table ", db, 1, 2

' déclaration de deux futurs objets
dim WordApp, WordDoc

' Création de l'objet application word
Set WordApp = CreateObject("word.application")

' Pas la peine de démarrer Word sur le serveur, on n'y est pas !!!
WordApp.Application.Visible = false

' Création du document Word
Set WordDoc = WordApp.Documents.Add()

' Parcours du recordset. Pour chaque Item, création de plusieurs paragraphes contenant
' les informations de la base.
' Puis saut de page.
' Attention, là c'est du VBA Word, qui peut parfois être un peu étrange       
' Par exemple, l'opérateur := du VBA ne passe pas en ASP. Donc remplacer par 
' des parenthèses. 
' De même, les constantes VBA genre WdAlignCenter ne sont pas connues en ASP
' et retournent donc 0. Il faut donc utiliser leur valeur entière (0, 1, 2...)

Do while not rs.EOF    

   Set Mypar1 = WordDoc.Paragraphs.Add
   set MyRange1 = Mypar1.range
   MyRange1.InsertBefore(rs.fields.item("Client").value & vbcrlf)       
   MyRange1.Style = "Titre 1"
   MyRange1.ParagraphFormat.Alignment = 1       

   Set newpar = WordDoc.Paragraphs.Add
   set newrange = newpar.range

   with newrange
      .Bold = False
      .Italic = false
      .Font.Name = "Verdana"
      .Font.size = "12"
   end with

   newrange.insertBefore("Téléphone standard : " & rs.fields.item("tel_standard").value & vbcrlf)
   newrange.insertBefore("Activité : " & rs.fields.item("activite").value & vbcrlf)
   newrange.insertBefore(rs.fields.item("Commune").value & vbcrlf)

   newrange.insertBefore(rs.fields.item("CP").value & vbcrlf)
   newrange.insertBefore(rs.fields.item("Adresse3").value & vbcrlf)
   newrange.insertBefore(rs.fields.item("Adresse2").value & vbcrlf)
   newrange.insertBefore(rs.fields.item("Adresse1").value & vbcrlf)

   Set Mypar2 = WordDoc.Paragraphs.Add
   set MyRange2 = Mypar2.range
   MyRange2.InsertBefore("Représentant : " & rs.fields.item("Prenom").value & " " & rs.fields.item("Nom").value)
   MyRange2.Font.Bold = true

   set Myparag2 = WordDoc.Paragraphs.add
   set Myrang2 = Myparag2.range

   with Myrang2
      .Bold = False
      .Italic = True
      .Font.Name = "Verdana"
      .Font.size = "10"
   end With

   myrang2.insertBefore("email : "& rs.fields.item("email").value & vbcrlf)
   myrang2.insertBefore("Mobile : "& rs.fields.item("mobile").value & vbcrlf)
   myrang2.insertBefore("Fax : "& rs.fields.item("fax").value & vbcrlf)
   myRang2.insertBefore("Téléphone : "& rs.fields.item("tel").value & vbcrlf)

   Set Mypar3 = WordDoc.Paragraphs.Add
   set MyRange3 = Mypar3.range
   MyRange3.InsertBefore("Date du contact : " & rs.fields.item("Date").value )
   MyRange3.Font.Bold = False

   Set Mypar4 = WordDoc.Paragraphs.Add
   set MyRange4 = Mypar4.range

   MyRange4.InsertBefore("Commentaire : " & rs.fields.item("commentaire").value )
   MyRange4.Font.Bold = False

   rs.movenext

   if not rs.EOF then
      ' Paragraphe de saut de page tant qu'il reste des enregistrements

      Set Mypar5 = WordDoc.Paragraphs.Add
      set MyRange5 = Mypar5.range
      MyRange5.InsertBreak

      Set Mypar5 = WordDoc.Paragraphs.Add
      set MyRange5 = Mypar5.range
   end if

Loop              

' enregistrement du document au format word

WordDoc.SaveAs server.mapPath("doc/temp.doc")

' fermeture du document
WordDoc.Close
' et de Word
WordApp.Quit
' et du recordSet
rs.close
' et d'Access
db.close

Set WordDoc = Nothing
Set WordApp = Nothing
Set rs = Nothing
Set db = Nothing

' redirection du navigateur vers le document pour le visualiser, l'imprimer et le sauvegarder en local.
response.redirect "doc/temp.doc"
%>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.5k
×
×
  • Create New...