Page 1 sur 1

Exporter vers Word dans un signet

MessagePublié: 22 Juil 2010 à 16:13
par JArcher
Bonjour à tous,

En ce moment, j'essaie désespérément d'exporter des données depuis Notes dans un document Word.
J'ai trouvé plein de scripts intéressants sur internet (ici, encore ici, ailleurs...) mais je suis bloqué par un petit pb.

J'arrive à ouvrir un fichier .dot, à le modifier et à l'enregistrer ailleurs en .doc.
Le soucis arrive lorsque j'essaie de mettre à jour mon fichier à un endroit précis à l'aide d'un signet.

Voilà le code de mon bouton :

Code : Tout sélectionner
Sub Click(Source As Button)
   Dim objWord As Variant
   Dim session As New NotesSession
   Set objWord = CreateObject("Word.Application")
   Dim objDoc As Variant
   Dim flag As Variant

   Set objDoc = objWord.Documents.Add("D:\Temp\test.dot")
   '-Store original value
   flag = session.ConvertMIME
   '-Ensure that MIME is converted to rich-text
   session.ConvertMIME = True
   
   objWord.Visible=visibility
   objWord.Visible=True   
   objDoc.SaveAs("D:\Temp\test2.doc")   
   objWord.Selection.InsertAfter "My text to write here..."
   
   Messagebox(objDoc.FormFields.Count)
   objWord.ActiveDocument.FormFields("a").result = "blabla"
   With objDoc
      .FormFields("a").Result = "2222here..."
   End With
   
   objDoc.Close
   Set objDoc = Nothing
   objWord.Quit
   Set objWord = Nothing
   '-Restore original setting before exiting
   session.ConvertMIME = flag
End Sub


Le résultat du formfields.count me retourne 0 alors que j'ai bien des signets dans mon fichier.
Et les 2 lignes dans lesquelles je tente d'ajouter du texte sur le signet "a" plantent invariablement.
Microsoft Word : Le membre de la collection requis n'existe pas.


Logiquement cela veux dire qu'il n'y a pas de signet "a" dans le fichier. Et pourtant, j'ouvre le .dot, ou le .doc résultat, j'ai bien un signet "a".

Quelqu'un l'a t-il déjà fait? Est-ce que je rate quelque chose?

Merci d'avance pour votre aide.

MessagePublié: 28 Juil 2010 à 16:37
par erenault
Tu utilises quelle version de Word ?

Car depuis la version 2007 Microsoft a tout changé :? et le code ne fonctionne peut-être plus ...

MessagePublié: 29 Juil 2010 à 09:12
par JArcher
J'utilise Word 2003.

Voila le fichier de base que j'ouvre : http://dl.free.fr/fUYKtBvKy

Il est tout simple...

Merci à toi!

MessagePublié: 12 Août 2010 à 15:01
par JArcher
Pour info, j'utilise Notes 7.0.2...

Personne n'a d'idée?
Est-ce que l'un d'entre vous a un exemple de fichier word avec des signets qui marche ? Histoire de comprendre si cela vient de mon code ou de mon fichier.

MessagePublié: 12 Août 2010 à 19:20
par Michael DELIQUE
salut jarcher

tu as normalement le droit de mettre des petits fichiers dans tes postes donc pas la peine de passer par dl.free

MessagePublié: 22 Sep 2010 à 15:36
par JArcher
Finalement, j'ai pu trouver de l'aide ailleurs.
Je partage ici le code qui marche chez moi.
Code : Tout sélectionner
Sub Click(Source As Button)
    Dim objWord As Variant
    Dim session As New NotesSession
    Set objWord = CreateObject("Word.Application")
    Dim objDoc As Variant
    Dim flag As Variant
   
    Dim item As NotesItem
    Dim contents As String
    Dim workspace As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument
    Set uidoc = workspace.CurrentDocument
    Set doc = uidoc.Document   
   
    Set objDoc = objWord.Documents.Add("D:\Bureau\ENREGISTREE.dot")
   
    objWord.Visible=visibility
    objWord.Visible=True   
   
    Set item = doc.GetFirstItem( "ladresse" )
    contents = item.Text
    Call objDoc.Bookmarks.Item("AdresseClient").Select()
    objWord.Selection.Text = contents
   
    objDoc.SaveAs("D:\Bureau\test2.doc")   
    objDoc.Close
    Set objDoc = Nothing
    objWord.Quit
    Set objWord = Nothing
End Sub