je viens vers vous car je n'ai pu obtenir une solution pour mon pb dans
le groupe access. ;(
Voici mon pb
depuis access j'ouvre un document word dans lequel je remplis des
signets et je sauvegarde le tout à la fin de la manip
pour ceci pas de pb ce n'est pas du grand art mais ça a le merite de
fonctionner ;)
j'aimerai remplir un signet qui est defini dans le pied de page et là
ça coince
soit le signets n'est pas remplit
soit j'efface tout le contenu de mon pied de page et je le rempli par
ma valeur
euh, je ne sais pas quoi dire de plus
si vous aviez une idée je suis preneur ;=) (comme c'est bizarre)
merci d'avance
ja;)
qui fait son premier pas dans la new de word (faut un debut à tout) :=)
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Guy Moncomble
| j'aimerai remplir un signet qui est defini dans le pied de page et là | ça coince | soit le signets n'est pas remplit | soit j'efface tout le contenu de mon pied de page et je le rempli par | ma valeur
Voici une procédure écrite pour la mise à jour des signets, qui conserve les noms des signets, et est utilisable *dans* Word. Soit tu la mets dans Word (normal.dot), soit tu l'adaptes pour l'exécuter depuis Access. Tu noteras qu'il est inutile d'ouvrir les pieds de page ou les en-têtes, la sélection d'un de leurs signets suffit pour les ouvrir.
'Fonctionne dans : ' - document principal, y compris les tableaux, ' - en-têtes et pieds de page, ' - cadres et zones de texte, ' - notes de bas de page et notes de fin.
Dim MyRange As Range, Debut As Long, TypAff As WdViewType, FenAff As WdSeekView
'Si le signet existe If ActiveDocument.Bookmarks.Exists(NomSignet) Then 'Où sommes nous au moment de l'appel ? quel est le type d'affichage ? FenAff = ActiveDocument.ActiveWindow.View.SeekView TypAff = ActiveDocument.ActiveWindow.View.Type 'Sélection du signet ActiveDocument.Bookmarks(NomSignet).Select 'Où sommes-nous maintenant ? If Selection.Information(wdInHeaderFooter) Then 'Il faut revenir en mode page, en-tête ou pied de page ouvert, sinon marche pas ActiveWindow.View.Type = wdPrintView 'On resélectionne ActiveDocument.Bookmarks(NomSignet).Select End If Set MyRange = Selection.Range Debut = MyRange.Start Selection.Bookmarks(NomSignet).Range.Text = TexteSignet MyRange.SetRange Debut, Debut + Len(TexteSignet) Selection.Bookmarks.Add NomSignet, MyRange 'On rétablit la vue initiale ActiveWindow.ActivePane.View.SeekView = FenAff ActiveWindow.View.Type = TypAff End If End Sub -- A+
GMO MVP Word
Laissées à elles-mêmes, les choses tendent à aller de pire en pire. Se faire aider ne fait qu'accélérer le processus.
Edward A. Murphy, Jr.
P.-S. Je n'ai pas fait de tests exhaustifs, aussi est-il possible de trouver des erreurs, dans le cas d'une configuration imprévue. Il n'est pas interdit d'améliorer !
| j'aimerai remplir un signet qui est defini dans le pied de page et là
| ça coince
| soit le signets n'est pas remplit
| soit j'efface tout le contenu de mon pied de page et je le rempli par
| ma valeur
Voici une procédure écrite pour la mise à jour des signets, qui conserve
les noms des signets, et est utilisable *dans* Word. Soit tu la mets
dans Word (normal.dot), soit tu l'adaptes pour l'exécuter depuis Access.
Tu noteras qu'il est inutile d'ouvrir les pieds de page ou les en-têtes,
la sélection d'un de leurs signets suffit pour les ouvrir.
'Fonctionne dans :
' - document principal, y compris les tableaux,
' - en-têtes et pieds de page,
' - cadres et zones de texte,
' - notes de bas de page et notes de fin.
Dim MyRange As Range, Debut As Long, TypAff As WdViewType, FenAff As
WdSeekView
'Si le signet existe
If ActiveDocument.Bookmarks.Exists(NomSignet) Then
'Où sommes nous au moment de l'appel ? quel est le type d'affichage
?
FenAff = ActiveDocument.ActiveWindow.View.SeekView
TypAff = ActiveDocument.ActiveWindow.View.Type
'Sélection du signet
ActiveDocument.Bookmarks(NomSignet).Select
'Où sommes-nous maintenant ?
If Selection.Information(wdInHeaderFooter) Then
'Il faut revenir en mode page, en-tête ou pied de page ouvert,
sinon marche pas
ActiveWindow.View.Type = wdPrintView
'On resélectionne
ActiveDocument.Bookmarks(NomSignet).Select
End If
Set MyRange = Selection.Range
Debut = MyRange.Start
Selection.Bookmarks(NomSignet).Range.Text = TexteSignet
MyRange.SetRange Debut, Debut + Len(TexteSignet)
Selection.Bookmarks.Add NomSignet, MyRange
'On rétablit la vue initiale
ActiveWindow.ActivePane.View.SeekView = FenAff
ActiveWindow.View.Type = TypAff
End If
End Sub
--
A+
GMO MVP Word
Laissées à elles-mêmes, les choses tendent à aller de pire en pire. Se
faire aider ne fait qu'accélérer le processus.
Edward A. Murphy, Jr.
P.-S. Je n'ai pas fait de tests exhaustifs, aussi est-il possible de
trouver des erreurs, dans le cas d'une configuration imprévue.
Il n'est pas interdit d'améliorer !
| j'aimerai remplir un signet qui est defini dans le pied de page et là | ça coince | soit le signets n'est pas remplit | soit j'efface tout le contenu de mon pied de page et je le rempli par | ma valeur
Voici une procédure écrite pour la mise à jour des signets, qui conserve les noms des signets, et est utilisable *dans* Word. Soit tu la mets dans Word (normal.dot), soit tu l'adaptes pour l'exécuter depuis Access. Tu noteras qu'il est inutile d'ouvrir les pieds de page ou les en-têtes, la sélection d'un de leurs signets suffit pour les ouvrir.
'Fonctionne dans : ' - document principal, y compris les tableaux, ' - en-têtes et pieds de page, ' - cadres et zones de texte, ' - notes de bas de page et notes de fin.
Dim MyRange As Range, Debut As Long, TypAff As WdViewType, FenAff As WdSeekView
'Si le signet existe If ActiveDocument.Bookmarks.Exists(NomSignet) Then 'Où sommes nous au moment de l'appel ? quel est le type d'affichage ? FenAff = ActiveDocument.ActiveWindow.View.SeekView TypAff = ActiveDocument.ActiveWindow.View.Type 'Sélection du signet ActiveDocument.Bookmarks(NomSignet).Select 'Où sommes-nous maintenant ? If Selection.Information(wdInHeaderFooter) Then 'Il faut revenir en mode page, en-tête ou pied de page ouvert, sinon marche pas ActiveWindow.View.Type = wdPrintView 'On resélectionne ActiveDocument.Bookmarks(NomSignet).Select End If Set MyRange = Selection.Range Debut = MyRange.Start Selection.Bookmarks(NomSignet).Range.Text = TexteSignet MyRange.SetRange Debut, Debut + Len(TexteSignet) Selection.Bookmarks.Add NomSignet, MyRange 'On rétablit la vue initiale ActiveWindow.ActivePane.View.SeekView = FenAff ActiveWindow.View.Type = TypAff End If End Sub -- A+
GMO MVP Word
Laissées à elles-mêmes, les choses tendent à aller de pire en pire. Se faire aider ne fait qu'accélérer le processus.
Edward A. Murphy, Jr.
P.-S. Je n'ai pas fait de tests exhaustifs, aussi est-il possible de trouver des erreurs, dans le cas d'une configuration imprévue. Il n'est pas interdit d'améliorer !
joyeux atchoum
Dans l'article , "Guy Moncomble" <http://cerbermail.com/?QOoOlzu81P> vous avez dit...
| j'aimerai remplir un signet qui est defini dans le pied de page et là | ça coince | soit le signets n'est pas remplit | soit j'efface tout le contenu de mon pied de page et je le rempli par | ma valeur
Voici une procédure écrite pour la mise à jour des signets, qui conserve les noms des signets, et est utilisable *dans* Word. Soit tu la mets dans Word (normal.dot), soit tu l'adaptes pour l'exécuter depuis Access. Tu noteras qu'il est inutile d'ouvrir les pieds de page ou les en-têtes, la sélection d'un de leurs signets suffit pour les ouvrir.
Merci pour le script pour l'accés au pied de page cela ne marche pas à tous les coups mais cela ne me surprend pas j'ai des problemes sur la gestion a proprement parler de word depuis access. (erreur 462 entre autre ) ;=) Mais le corps de texte est bien remplit (enfin quand je lance sans erreur)
Dans tous les cas ce script est bien plus propre que je ce que je faisais alors j'adopte ;=)
est ce que faire Selection.Bookmarks(NomSignet).Range.InserAfter = TexteSignet ne reviens pas au meme ?
Car si j'ai bien compris ce bout sert à redefinir le bout de texte inseré comme le signet
Enfin dans tous les cas merci, je continue dans le truc
ja;)
Il n'est pas interdit d'améliorer !
ja qui croyait que tout tombait tout cuit, Zut ;=)
Dans l'article <e3U4s79bDHA.3520@tk2msftngp13.phx.gbl>, "Guy
Moncomble" <http://cerbermail.com/?QOoOlzu81P> vous avez dit...
| j'aimerai remplir un signet qui est defini dans le pied de page et là
| ça coince
| soit le signets n'est pas remplit
| soit j'efface tout le contenu de mon pied de page et je le rempli par
| ma valeur
Voici une procédure écrite pour la mise à jour des signets, qui conserve
les noms des signets, et est utilisable *dans* Word. Soit tu la mets
dans Word (normal.dot), soit tu l'adaptes pour l'exécuter depuis Access.
Tu noteras qu'il est inutile d'ouvrir les pieds de page ou les en-têtes,
la sélection d'un de leurs signets suffit pour les ouvrir.
Merci pour le script
pour l'accés au pied de page cela ne marche pas à tous les coups mais
cela ne me surprend pas j'ai des problemes sur la gestion a proprement
parler de word depuis access. (erreur 462 entre autre ) ;=)
Mais le corps de texte est bien remplit (enfin quand je lance sans
erreur)
Dans tous les cas ce script est bien plus propre que je ce que je
faisais alors j'adopte ;=)
Dans l'article , "Guy Moncomble" <http://cerbermail.com/?QOoOlzu81P> vous avez dit...
| j'aimerai remplir un signet qui est defini dans le pied de page et là | ça coince | soit le signets n'est pas remplit | soit j'efface tout le contenu de mon pied de page et je le rempli par | ma valeur
Voici une procédure écrite pour la mise à jour des signets, qui conserve les noms des signets, et est utilisable *dans* Word. Soit tu la mets dans Word (normal.dot), soit tu l'adaptes pour l'exécuter depuis Access. Tu noteras qu'il est inutile d'ouvrir les pieds de page ou les en-têtes, la sélection d'un de leurs signets suffit pour les ouvrir.
Merci pour le script pour l'accés au pied de page cela ne marche pas à tous les coups mais cela ne me surprend pas j'ai des problemes sur la gestion a proprement parler de word depuis access. (erreur 462 entre autre ) ;=) Mais le corps de texte est bien remplit (enfin quand je lance sans erreur)
Dans tous les cas ce script est bien plus propre que je ce que je faisais alors j'adopte ;=)
est ce que faire Selection.Bookmarks(NomSignet).Range.InserAfter = TexteSignet ne reviens pas au meme ?
Car si j'ai bien compris ce bout sert à redefinir le bout de texte inseré comme le signet
Enfin dans tous les cas merci, je continue dans le truc
ja;)
Il n'est pas interdit d'améliorer !
ja qui croyait que tout tombait tout cuit, Zut ;=)
Guy Moncomble
Bonjour à tous, dans le message ,
| Merci pour le script | pour l'accés au pied de page cela ne marche pas à tous les coups mais | cela ne me surprend pas j'ai des problemes sur la gestion a proprement | parler de word depuis access. (erreur 462 entre autre ) ;=) | Mais le corps de texte est bien remplit (enfin quand je lance sans | erreur)
Qu'est-ce qui ne va pas dans les pieds de page ?
| J'ai tout de meme une question pourquoi ceci :
|| Set MyRange = Selection.Range || Debut = MyRange.Start
Redéfinition du signet, en fait création d'un nouveau, le précédent étant détruit.
| est ce que faire | Selection.Bookmarks(NomSignet).Range.InserAfter = TexteSignet | ne reviens pas au meme ?
Oui pour le texte du signet, mais sans la méthode range pour redéfinir, galère garantie. De toutes façon, de cette manière, il faut détruire l'ancien signet : le texte et donc le nom. Tu auras noté que la sélection préalble du signet n'est nécessaire qu'à cause des en-tête et pieds de page. En effet activedocument.range est inutilisable dans ces zones et il faut impérativement travailler avec selection.range donc ouvrir. En tout cas je n'ai rien trouvé de mieux. -- A+
GMO MVP Word
Laissées à elles-mêmes, les choses tendent à aller de pire en pire. Se faire aider ne fait qu'accélérer le processus.
Edward A. Murphy, Jr.
Bonjour à tous,
dans le message <MPG.19bedfa3924f84fc9897f3@127.0.0.1>,
| Merci pour le script
| pour l'accés au pied de page cela ne marche pas à tous les coups mais
| cela ne me surprend pas j'ai des problemes sur la gestion a proprement
| parler de word depuis access. (erreur 462 entre autre ) ;=)
| Mais le corps de texte est bien remplit (enfin quand je lance sans
| erreur)
Qu'est-ce qui ne va pas dans les pieds de page ?
| J'ai tout de meme une question pourquoi ceci :
|| Set MyRange = Selection.Range
|| Debut = MyRange.Start
Redéfinition du signet, en fait création d'un nouveau, le précédent
étant détruit.
| est ce que faire
| Selection.Bookmarks(NomSignet).Range.InserAfter = TexteSignet
| ne reviens pas au meme ?
Oui pour le texte du signet, mais sans la méthode range pour redéfinir,
galère garantie. De toutes façon, de cette manière, il faut détruire
l'ancien signet : le texte et donc le nom.
Tu auras noté que la sélection préalble du signet n'est nécessaire qu'à
cause des en-tête et pieds de page. En effet activedocument.range est
inutilisable dans ces zones et il faut impérativement travailler avec
selection.range donc ouvrir. En tout cas je n'ai rien trouvé de mieux.
--
A+
GMO MVP Word
Laissées à elles-mêmes, les choses tendent à aller de pire en pire. Se
faire aider ne fait qu'accélérer le processus.
| Merci pour le script | pour l'accés au pied de page cela ne marche pas à tous les coups mais | cela ne me surprend pas j'ai des problemes sur la gestion a proprement | parler de word depuis access. (erreur 462 entre autre ) ;=) | Mais le corps de texte est bien remplit (enfin quand je lance sans | erreur)
Qu'est-ce qui ne va pas dans les pieds de page ?
| J'ai tout de meme une question pourquoi ceci :
|| Set MyRange = Selection.Range || Debut = MyRange.Start
Redéfinition du signet, en fait création d'un nouveau, le précédent étant détruit.
| est ce que faire | Selection.Bookmarks(NomSignet).Range.InserAfter = TexteSignet | ne reviens pas au meme ?
Oui pour le texte du signet, mais sans la méthode range pour redéfinir, galère garantie. De toutes façon, de cette manière, il faut détruire l'ancien signet : le texte et donc le nom. Tu auras noté que la sélection préalble du signet n'est nécessaire qu'à cause des en-tête et pieds de page. En effet activedocument.range est inutilisable dans ces zones et il faut impérativement travailler avec selection.range donc ouvrir. En tout cas je n'ai rien trouvé de mieux. -- A+
GMO MVP Word
Laissées à elles-mêmes, les choses tendent à aller de pire en pire. Se faire aider ne fait qu'accélérer le processus.
Edward A. Murphy, Jr.
joyeux atchoum
S'lt
Encore merci pour le script
Qu'est-ce qui ne va pas dans les pieds de page ?
En fait maintenant tout semble aller bien J'ai une erreur sur l'ouverture du document en utilisant ActiveDocument dés fois ton script ne reconnait plus le serveur d'application j'ai resolu en partie le pb en donnant dans le script la reference au document il fait moins la tete mais ce n'est pas encore ça
en fait le document est ouvert depuis un document type, remplit, sauvegarder sous son nouveau nom, puis rendu visible c'est l'utilisateur qui ferme manuellement word je dois avoir des probleme de gestion sur l'automation
| J'ai tout de meme une question pourquoi ceci : || Set MyRange = Selection.Range || Debut = MyRange.Start Pour initialiser la zone de définition du signet || Selection.Bookmarks(NomSignet).Range.Text = TexteSignet Remplacement du texte *mis au bon endroit et sans sélection parasite, en particulier dans les tableaux. || MyRange.SetRange Debut, Debut + Len(TexteSignet) || Selection.Bookmarks.Add NomSignet, MyRange Redéfinition du signet, en fait création d'un nouveau, le précédent étant détruit.
Oki, c'est ce que j'avais globalement deviné ;=)
| est ce que faire | Selection.Bookmarks(NomSignet).Range.InserAfter = TexteSignet | ne reviens pas au meme ?
Oui pour le texte du signet, mais sans la méthode range pour redéfinir, galère garantie. De toutes façon, de cette manière, il faut détruire l'ancien signet : le texte et donc le nom.
Mais je crois que je n'ai pas cerné la grande différence entre Range, Select, ....
Tu auras noté que la sélection préalble du signet n'est nécessaire qu'à cause des en-tête et pieds de page. En effet activedocument.range est inutilisable dans ces zones et il faut impérativement travailler avec selection.range donc ouvrir. En tout cas je n'ai rien trouvé de mieux.
ok je comprends mieux mais je dois reconnaitre que c'est pas loin d'etre de l'hebreu Pour le moment j'ai les notions de base liées à l'automation depuis access grace aux sites des MVP access mais apres c'est la grande inconnue
Enfin cela marche presque et en plus je crois avoir en gros compris le tout ;=) Youpi
Merci encore ja ;=)
qui reussi à remplir un pied de page, vive les pieds de nez
P.S. au fait quels sont les sites de reférences ?
S'lt
Encore merci pour le script
Qu'est-ce qui ne va pas dans les pieds de page ?
En fait maintenant tout semble aller bien
J'ai une erreur sur l'ouverture du document
en utilisant ActiveDocument dés fois ton script ne reconnait plus le
serveur d'application
j'ai resolu en partie le pb en donnant dans le script la reference au
document
il fait moins la tete mais ce n'est pas encore ça
en fait le document est ouvert depuis un document type, remplit,
sauvegarder sous son nouveau nom, puis rendu visible
c'est l'utilisateur qui ferme manuellement word
je dois avoir des probleme de gestion sur l'automation
| J'ai tout de meme une question pourquoi ceci :
|| Set MyRange = Selection.Range
|| Debut = MyRange.Start
Pour initialiser la zone de définition du signet
|| Selection.Bookmarks(NomSignet).Range.Text = TexteSignet
Remplacement du texte *mis au bon endroit et sans sélection parasite, en
particulier dans les tableaux.
|| MyRange.SetRange Debut, Debut + Len(TexteSignet)
|| Selection.Bookmarks.Add NomSignet, MyRange
Redéfinition du signet, en fait création d'un nouveau, le précédent
étant détruit.
Oki, c'est ce que j'avais globalement deviné ;=)
| est ce que faire
| Selection.Bookmarks(NomSignet).Range.InserAfter = TexteSignet
| ne reviens pas au meme ?
Oui pour le texte du signet, mais sans la méthode range pour redéfinir,
galère garantie. De toutes façon, de cette manière, il faut détruire
l'ancien signet : le texte et donc le nom.
Mais je crois que je n'ai pas cerné la grande différence entre Range,
Select, ....
Tu auras noté que la sélection préalble du signet n'est nécessaire qu'à
cause des en-tête et pieds de page. En effet activedocument.range est
inutilisable dans ces zones et il faut impérativement travailler avec
selection.range donc ouvrir. En tout cas je n'ai rien trouvé de mieux.
ok je comprends mieux mais je dois reconnaitre que c'est pas loin
d'etre de l'hebreu
Pour le moment j'ai les notions de base liées à l'automation depuis
access grace aux sites des MVP access mais apres c'est la grande
inconnue
Enfin cela marche presque et en plus je crois avoir en gros compris le
tout ;=)
Youpi
Merci encore
ja ;=)
qui reussi à remplir un pied de page, vive les pieds de nez
En fait maintenant tout semble aller bien J'ai une erreur sur l'ouverture du document en utilisant ActiveDocument dés fois ton script ne reconnait plus le serveur d'application j'ai resolu en partie le pb en donnant dans le script la reference au document il fait moins la tete mais ce n'est pas encore ça
en fait le document est ouvert depuis un document type, remplit, sauvegarder sous son nouveau nom, puis rendu visible c'est l'utilisateur qui ferme manuellement word je dois avoir des probleme de gestion sur l'automation
| J'ai tout de meme une question pourquoi ceci : || Set MyRange = Selection.Range || Debut = MyRange.Start Pour initialiser la zone de définition du signet || Selection.Bookmarks(NomSignet).Range.Text = TexteSignet Remplacement du texte *mis au bon endroit et sans sélection parasite, en particulier dans les tableaux. || MyRange.SetRange Debut, Debut + Len(TexteSignet) || Selection.Bookmarks.Add NomSignet, MyRange Redéfinition du signet, en fait création d'un nouveau, le précédent étant détruit.
Oki, c'est ce que j'avais globalement deviné ;=)
| est ce que faire | Selection.Bookmarks(NomSignet).Range.InserAfter = TexteSignet | ne reviens pas au meme ?
Oui pour le texte du signet, mais sans la méthode range pour redéfinir, galère garantie. De toutes façon, de cette manière, il faut détruire l'ancien signet : le texte et donc le nom.
Mais je crois que je n'ai pas cerné la grande différence entre Range, Select, ....
Tu auras noté que la sélection préalble du signet n'est nécessaire qu'à cause des en-tête et pieds de page. En effet activedocument.range est inutilisable dans ces zones et il faut impérativement travailler avec selection.range donc ouvrir. En tout cas je n'ai rien trouvé de mieux.
ok je comprends mieux mais je dois reconnaitre que c'est pas loin d'etre de l'hebreu Pour le moment j'ai les notions de base liées à l'automation depuis access grace aux sites des MVP access mais apres c'est la grande inconnue
Enfin cela marche presque et en plus je crois avoir en gros compris le tout ;=) Youpi
Merci encore ja ;=)
qui reussi à remplir un pied de page, vive les pieds de nez