Archives pour la catégorie Microsoft

[Office] Problème de clic droit dans Excel ?

Hello,

Les mystères d’Excel, il arrive parfois que le clic droit soit désactivé dans une feuille Excel. A défaut de savoir d’où provient exactement le problème, ci-dessous la solution pour corriger le problème :

  • Ouvrir Excel et taper ALT + F11 qui vous ouvrira l’éditeur Visual Basic
  • Dans le menu, sélection Insertion > Module et copier-coller le code suivant

Sub Enable_All_Right_Click_Menus()
‘This will enable all BuiltIn Command bars
Dim Cbar As CommandBar
For Each Cbar In Application.CommandBars
Cbar.Enabled = True
Next
End Sub

  • Taper F5 (ou sélectionner Exécuter à partir du menu) puis sélectionner votre macro (Enable_All_Right_Click_Menus())
  • Fermer l’éditeur VB

Et tout devrait fonctionner maintenant.

Enjoy !

[VS2010] Les snippets et Visual Studio (3/3)

Installation d’un snippet dans VS2010

Pour ajouter un snippet dans VS2010, rien de plus simple : CTRL + K / CTRL + B ou Outils > Gestionnaire des extraits de code

Sélectionner votre langage (Visual C# par exemple) et importez votre snippet dans le dossier My Code Snippet (qui rappelez-vous n’est qu’un simple raccourci vers votre dossier « C:\Users\[Vous]\Documents\Visual Studio 2010\Code Snippets\Visual C#\My Code Snippets »

Quelques références

Enjoy !

[VS2010] Les snippets et Visual Studio (2/3)

Création d’un snippet

Un snippet est en réalité un fichier XML qui est disposé dans le dossier de configuration des snippets de Visual Studio 2010. En vous rendant dans ce dossier (« C:\Users\[Vous]\Documents\Visual Studio 2010\Code Snippets\Visual C#\My Code Snippets »), vous y trouverez vos snippets mais également les snippets de VS2010.

Pour avoir votre propre snippet, créer un nouveau fichier XML que vous enregistrez avec l’extension « .snippet » et basez vous sur l’exemple ci-dessous.

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
		<Header>
			<Title>propdpsl - Define a DependencyProperty</Title>
			<Author>idys</Author>
			<Description>Create a Silverlight DependencyProperty</Description>
			<HelpUrl></HelpUrl>
			<Shortcut>propdpsl</Shortcut>
			<SnippetTypes>
				<SnippetType>Expansion</SnippetType>
			</SnippetTypes>
		</Header>
        <Snippet>
            <Declarations>
                <Literal>
                    <ID>type</ID>
                    <ToolTip>Property Type</ToolTip>
                    <Default>int</Default>
                </Literal>
                <Literal>
                    <ID>property</ID>
                    <ToolTip>Property Name</ToolTip>
                    <Default>MyProperty</Default>
                </Literal>
                <Literal>
                    <ID>ownerclass</ID>
                    <ToolTip>The owning class of this Property.  Typically the class that it is declared in.</ToolTip>
                    <Default>ownerclass</Default>
                </Literal>
                <Literal>
                    <ID>defaultvalue</ID>
                    <ToolTip>The default value for this property.</ToolTip>
                    <Default>null</Default>
                </Literal>
            </Declarations>
            <Code Language="csharp">
                <![CDATA[
					 #region $property$ Property

					/// <summary>
					/// Propriété $property$
					/// </summary>
					public $type$ $property$
					{
						get { return ($type$)GetValue($property$Property); }
						set { SetValue($property$Property, value); }
					}

					/// <summary>
					/// Using a DependencyProperty as the backing store for $property$.  This enables animation, styling, binding, etc...
					/// </summary>
					public static readonly DependencyProperty $property$Property =
						DependencyProperty.Register("$property$", typeof($type$), typeof($ownerclass$), new PropertyMetadata($defaultvalue$));

					#endregion$end$]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

Description détaillée d’un snippet

Les différentes balises XML à retenir :

  • Title : titre du snippet
  • Author : vous 😉
  • Description : description du snippet
  • Shortcut : texte à saisir dans VS (ex: propdpsl)
  • SnippetTypes : type de snippet

Les snippets peuvent être de 3 types :

  • SurroundsWith : encapsule le code sélectionné au moment de la création du snippet
  • Expansion : insère le snippet au niveau du curseur de la souris
  • Refactoring : indique que la snippet est utilisée pour le refactoring (ex : implementation d’une interface et insertion du throw new NotImplementedException(); dans le corps des méthodes). Il n’est pas possible de créer ce type de snippet.

Prochaine étape : Installation d’un snippet directement dans VS2010.

Enjoy !

[VS2010] Les snippets et Visual Studio (1/3)

Utilisation d’un snippet

Si nous reprenons le snippet proposé dans mon précédent post, en tapant propdpsl (puis 2 fois TAB), vous obtenez un extrait de code préformaté qui créer pour vous l’ensemble du code de la snippet.

Ensuite, en naviguant via la touche de tabulation, vous pouvez saisir les différentes variables du snippet (zones surlignées).

Prochaine étape : Création d’un snippet.

Enjoy !

#define et autres directives de compilation C#

Un set de directives de compilation sont utilisées pour affecter (principalement) la manière dont le compilateur voit le code à compiler.

#region
#endregion

#define
#undef
#if
#else
#elif
#endif

#warning
#error
#line

Je dis principalement car les deux premiers – #region et #endregion – sont complètement ignorés par le compilateur. Ils sont simplement utilisés par Visual Studio comme fonctionnalité pour améliorer l’apparence du code source.

Les six suivantes – de #define à #endif – peuvent être utilisées pour conditionner la compilation du code source.

Les trois dernières – #warning, #error and #line – force le compilateur à générer les avertissements et les erreurs ainsi que les numéros de lignes. Utiles pour traiter certains avertissements comme erreur au niveau d’une compilation en mode Release.

J’ai décrit ci-après un exemple d’utilisation sous Visual Studio.

Lire la suite