Recherche sur le blog

jeudi 4 septembre 2014

[Astuces] Win 8/8.1 – Installer un pack de langue

Il arrive que certains PC arrivent avec une version de Windows sur un DVD qui s’installe automatiquement en anglais. En général, ce disque intègre déjà les autres packs de langue, sauf qu’en passant à la version 8.1, la réinstallation va de nouveau être effectuée dans la langue de Shakespeare. Pour repasser en français on peut télécharger le pack de langue via le panneau de configuration, option “Language”. Sauf que parfois, Windows indique qu’il n’y a aucun pack disponible. Il y a alors plusieurs solutions qui impliquent toutes le téléchargement d’un fichier .CAB contenant les fichiers nécessaires pour le français. Les fichiers ci-dessous – en français –  sont classés par système et par plate-forme. Téléchargez celui qui correspond à votre version.

Windows 8.1 (32 bits) lp_6588a26cdd1f53395b8f3e6ae0f256fc080df570.cab
Windows 8.1 (64 bits) lp_57ba398b9875a01656ae6bd9fee53b4717f7612e.cab
Windows 8 (32 bits) windows8-kb2607607-x86-fra_....cab
Windows 8 (64 bits) windows8-kb2607607-x64-fra_....cab

Méthode 1 : installation en ligne de commandes

Téléchargez le fichier adéquat puis renommez-le : par exemple, “lp.cab”. Ensuite, placez le fichier à la racine pour plus de facilité.

  • Le fichier se trouve alors dans C:\ (“C” étant la lettre par défaut attribuée au disque système mais cela peut varier d’une machine à une autre).
  • Utiliser la combinaison de touche Windows+X.
  • Dans le menu choisir “Invite de commandes (admin)”.
  • Saisir la commande : dism /online /add-package /packagepath:C:\lp.cab
  • Attendre la fin de l’installation.
  • Redémarrer l’ordinateur puis retourner dans le panneau de configuration – Langues – paramètres avancés pour définir correctement le français.

Méthode 2 : installation via l’utilitaire LPKSETUP

Téléchargez le fichier adéquat mais laissez-le dans le dossier “Téléchargement”. Ensuite, lancez l’utilitaire LPKSETUP en mode administrateur. Choisissez le dossier de téléchargements pour que l’utilitaire détecte le fichier de langue à installer puis suivez les étapes affichées à l’écran.

Méthode 3 : renommez le fichier téléchargé

Une autre astuce consiste à renommer le fichier fraichement téléchargé en lui donnant l’extension “.mlc” au lieu de “.cab”. Ensuite, il faut double-cliquer sur le fichier pour commencer l’installation du package.

lundi 1 septembre 2014

[WD19] Pilotage Excel via OLE

Depuis votre application Windev, il est possible de piloter des applications Windows via le protocole OLE (“Object Linking and Embedding”). Par exemple vous pouvez créer une feuille Excel formatée avec un ensemble de données reprises dans un tableau : colorez telles cellules en rouge, modifiez la mise en page, modifiez le zoom actif, changez l’orientation de l’impression, etc.

Tout d’abord, il faut définir la variable qui va permettre l’interaction avec le processus Excel et l’appel des différentes méthodes pour mettre en forme notre futur document. Cette variable est de type “Objet OLE dynamique”. On va l’initialiser d’abord avec la valeur retournée par la fonction ObjetActif(), puis déterminer l’action à effectuer en fonction du retour.

ObjetActif

Ce qui est réalisé ci-dessus :

  • On définit la variable de type “Objet OLE dynamique”.
  • On l’initialise avec la fonction ObjetActif, à laquelle on passe en paramètre le nom du serveur automation, à savoir “Excel.Application”.
  • Dans l’instruction “Selon”, on va vérifier si le résultat est à Null : si c’est le cas, cela veut dire qu’il n’y a aucun fichier Excel actif, et on peut allouer un nouvel objet de type “Excel.Application”. Dans les autres cas, cela signifie qu’il y a un fichier en cours d’édition. On va alors appeler la méthode “Quit()” de l’objet, en utilisant l’opérateur “>>” (exemple : “monFichierXls>>Quit()”), détruire l’objet, puis réaliser une nouvelle allocation.

Note : les objets Automation sont automatiquement détruits à la fin du traitement, cependant, si vous souhaitez libérer des objets plus tôt, utilisez le mot-clé “libérer” (exemple : “libérer monFichierXls”).

Lorsqu’on a réalisé cette opération, on peut alors commencer la création et l’édition d’une feuille dans le nouveau document, et même la renommer. Tout d’abord, on va faire en sorte qu’Excel soit rendu invisible : on ne le verra pas dans la barre de tâches, même si son processus est actif. Ensuite on va initialiser le classeur, qui contiendra ses 3 feuilles. La première est automatiquement “activée”.

AddSheetXls

Ce qu’on fait dans l’étape ci-dessus :

  • On modifie la propriété OLE “Visible” à “OLEFaux” (le code étant alors “monFichierXls>>Visible=OLEFaux”), afin qu’Excel soit masqué.
  • On va ajouter un classeur, grâce à la méthode Workbooks.Add(). Si on veut traduire cela en code WLangage, cela donne alors quelque chose comme : “monFichierXls>>WorkBooks>>Add()”. Réf : Plus d’informations à propos de cette méthode.
  • On va définir le nom de la feuille active grâce à la propriété Application.ActiveSheet.Name. C’est toujours le même principe : on utilise l’opérateur “>>” à chaque niveau. Du coup, on obtient quelque chose comme “monFichierXls>>ActiveSheet>>Name = VALEUR” en WLangage.

Après, on peut s’amuser à définir le contenu d’une cellule à partir des indices de ligne et de colonne. Dans Excel, les colonnes sont nommées de A à  ZZ mais sont indicées à partir de 1, tout comme les lignes. On peut aussi modifier la taille de la police, l’apparence, la couleur de fond, etc.

ActiveSheetCells

Pour interagir avec la cellule qui nous intéresse, on utilise ActiveSheet.Cells(x, y). X étant l’indice de ligne et Y l’indice de colonne. Chaque cellule possède un nombre d’éléments qui peuvent être édités, telles que Font (pour la police), HorizontalAlignment (pour définir l’alignement du texte par exemple), Interior, etc. C’est comme ça qu’on définit la taille de la police…

Quelques exemples :

  • monFichierXls>>ActiveSheet>>Cells(1,2)>>Font>>Bold = True
  • monFichierXls>>ActiveSheet>>Cells(1,2)>>Font>>Size = 16
  • monFichierXls>>ActiveSheet>>Cells(1,2)>>Interior>>ColorIndex = 56

Détail des exemples ci-dessus : le premier met la police de la cellule B1 (1, 2) en gras. Le second définit sa taille à 16. Enfin, le troisième définit la couleur de fond numéro 56 selon l’index de couleurs défini dans Excel. Voici la palette :

ColorIndex

Il est bien sûr possible d’indiquer sa propre couleur avec la propriété Color, dans laquelle on stocke la valeur de la fonction RGB() proposée par Windev. Le site Excel-Pratique donne des exemples de valeurs à utiliser avec cette fonction…

Pour mettre en page, on peut jouer avec les propriétés de l’objet ActiveSheet.PageSetup. La propriété Orientation permet de choisir entre le mode paysage (ici, la valeur est alors égale à 2) ou portrait. Les propriétés Left*, Top*, Bottom* et RightMargin permettent de définir les marges. Enfin la propriété Zoom permet de définir la valeur du zoom ce qui peut aider pour faire rentrer la feuille complète sur la page.

Misenpage6

Enfin pour terminer et sauvegarder le fichier Excel, il faut désactiver l’affichage des alertes, appeler la méthode “SaveAs()” en indiquant en paramètre le nom du fichier, réactiver les alertes, fermer le classeur et quitter Excel. Il ne restera plus qu’à détruire l’objet !

FinXls

Dans l’ordre :

  • On a désactivé les alertes : “monFichierXls>>DisplayAlerts = False”.
  • On a sauvegardé le fichier à l’aide de SaveAs(). Plus d’informations dans la documentation officielle située ici : référence MSDN FF841185.
  • Réactivation des alertes.
  • Fermeture du classeur : “monFichierXls>>ActiveWorkbook>>Close()”.
  • Fermeture d’Excel : “monFichierXls>>Quit()”.
  • Destruction de l’objet avec le mot-clé “libérer”.

Il est bien sûr possible d’en faire plus, car il existe de nombreuses méthodes, de nombreux objets, et un tas de propriétés associées à ceux-ci ! On peut par exemple définir une formule, modifier un ensemble de cellules plutôt qu’une seule à la fois, et encore bien d’autres choses. Bon développement à tous !