VB sux

Après ce titre provocateur attirant ici le développeur curieux, je vous expose mon problème :
J’effectue actuellement au sein d’un projet pro une automation Word par le biais de PowerBuilder (mais ce n’est pas trop PB le problème).

Or je me trouve confronté à la barbarerie infâme innovante de Visual Basic, à savoir les paramètres nommés optionels.

Je m’explique : la fonction Selection.GoTo() de Word contient quatre paramètres, tous optionnels. Je désire utiliser cette fonction pour aller dans un signet du document Word. Pour cela, j’ai juste besoin d’avoir le premier et le dernier paramètre remplis.

OR cette fonction ne passe pas à l’exécution si je m’amuse à remplir les deux autres paramètres avec des valeurs considérés comme “neutres”. Il faut impérativement que la fonction n’ait QUE le premier et le dernier paramètres renseignés sinon ça ne passe pas.
J’ai essayé d’envoyer une variable de type “long” nulle en lieu et place des deux paramètres manquants, ça ne marche pas.
Ma question est donc simple : comment utiliser en Automation Office OLE les fonctions avec paramètres optionnels ?
Le gros souci, c’est que c’est ultra bloquant comme problème et que je ne peux pas avancer dans mon projet sans réponse. Je continue de chercher pendant ce temps mais si vous avez la solution ou même un bout de solution, n’hésitez surtout pas à m’aider.

Ah oui, les versions de Softs : Win2k, Office 2002 et PowerBuiler 8.

edit : j’ai testé les deux exemples ci-dessous, rien ne marche :

OleWord.Selection.GoTo(Constants.wdGoToBookmark, ll_null, ll_null, “ref”)

et
OleWord.Selection.GoTo(Constants.wdGoToBookmark, Constants.wdGoToAbsolute, 1, “ref”)

Constants est un objet contenant les constantes de l’appli et où j’ai déclaré les constantes Word.

Ce message a été édité par use-writer le 03/06/2004

Je vais surement dire une grosse connerie mais t’es paramètres optionnels tu peux pas les laisser vide ? un Selection.GoTo(1,3) ne marche pas en VB ?
Si j’ai rien compris excuse moi.

[quote]Je vais surement dire une grosse connerie mais t’es paramètres optionnels tu peux pas les laisser vide ? un Selection.GoTo(1,3) ne marche pas en VB ?
Si j’ai rien compris excuse moi.[/quote]Ca fonctionne en VB bien entendu… mais pas en PowerBuilder (il ne veut même pas compiler et c’est normal).

Le souci est que VB est complètement dé-normalisé pour le coup et qu’il faut réussir à faire communiquer les deux langages.

On pourrait résumer mon problème à « comment simuler un paramètre vide » ?

Il y a forcément une solution… :confused:

Si mes souvenirs en VB sont bons, tu peux nommer les paramètres.
et ca fait un truc du genre GoTo(monparametre1:gabu, monparametre4:zomeuh)

[quote]Si mes souvenirs en VB sont bons, tu peux nommer les paramètres.
et ca fait un truc du genre GoTo(monparametre1:gabu, monparametre4:zomeuh)[/quote]Effectivement, la syntaxe exacte est
Selection.Goto(What:=wdGoToBookmark, Name:=“ref”)
Et c’est d’ailleurs ce que je reproche à VB, c’est que je ne peux pas utiliser le nommage des paramètres dans d’autres langages (c’est là que se situe l’essence de mon problème).

Dernière minute, mon problème est résolu en remplaçant les paramètres non renseignés par 0. Je ne sais pas si ça fonctionne pour toutes les autres fonctions avec paramètres nommés mais là ça fonctionne (heureusement qu’on a retrouvé des vieilles sources !).

Quand est-ce qu’ils vont remplacer le VB par du C# dans Office ???

[quote]Quand est-ce qu’ils vont remplacer le VB par du C# dans Office ???[/quote]Ayé. On peut déjà le faire. Il y a un truc du style Visual Studio.NET Tools pour Office, .