- Créer une ClassLibrary
- Dans le propriétés du projet > Application > Information de l’assembly > cocher "Rendre l’assembly visible par COM"
- Puis dans Générer > cocher "Inscription pour Com Interop"
- Signer le projet avec un fichier SNK
- Dans la classe elle même, créer les membres et les fonctions en public
- Créer un fichier Excel.exe.config contenant le code ciblant le framework à utiliser :
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration> - Mettre ce fichier au niveau de l'exécutable Excel.exe
- Ensuite au niveau de l'application Excel, ouvrir le Visual Basic Editor > Outils > Références > cocher votre composant dans la liste
- Créer votre code VBA pour faire appel à votre assembly :
Sub CallAssemblyTest()
Dim MaClass As New MonAssemblyClass
MsgBox MaClass.MaFonction
Set MaClass = Nothing
End Sub
mercredi 13 février 2008
Appel d'une assembly .net depuis une application VBA
tout est dans le titre, comment donc faire appel à une assembly .net depuis une application VBA (au hasard Excel) :
samedi 9 février 2008
Création d’une thème personnalisé SharePoint
On trouve cette astuce un peu partout, mais au moins je saurais où trouver le chemin du fichier SPTHEMES.XML sans galèrer :)
Ainsi donc, voici un récapitulatif des étapes nécessaires à la création d'un thème personnalisé dans SharePoint :
Ainsi donc, voici un récapitulatif des étapes nécessaires à la création d'un thème personnalisé dans SharePoint :
- Naviguez dans le répertoire c:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\Themes et faites une copie du dossier du thème qui vous semble le plus proche de ce que vous souhaitez.
Renommez le dossier (MonTheme) - Dans le dossier MonTheme renommez le fichier theme.inf en MonTheme.inf et éditez celui-ci pour remplacer toutes les occurences de theme par MonTheme
- Naviguez dans le répertoire C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\60\TEMPLATE\LAYOUTS\1036\ et éditez le fichier SPTHEMES.XML pour y ajouter une section pour votre thème
- Ajoutez une image d'aperçu de votre thème dans le dossier C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\IMAGES
- IISRESET, le thème est désormais disponible dans la liste
Libellés :
Sharepoint
Trucs et astuces SharePoint (v1)
Voici pêle mêle quelques astuces concernant le développement SharePoint (MOSS ou WSS) bien pratiques à avoir sous la main :
- Redémarrage du pool d’application au lieu de IISreset
cscript.exe c:\windows\system32\iisapp.vbs /a "SharePoint - 80" /r
- Affichage des erreurs ASP.NET depuis un site SharePoint
Dans le web.config :
...CallStack="true" et <customErrors mode="Off" />
pour réactiver la prise en charge par SharePoint
...CallStack="false" et <customErrors mode="On" /> - Recréer l'index du moteur de recherche SharePoint :
stsadm -o spsearch -action fullcrawlstart
Plus d'infos : http://blogs.developpeur.org/fabrice69/archive/2007/12/12/wss-v3-recr-er-l-index-du-search-de-wss-v3.aspx - Créer une liste d'après un template qui ne s'affiche pas dans la liste des templates :
Parfois lorsqu'une liste SharePoint a été sauvegardée en tant que modèle de liste, celui-ci n'apparait pas dans la liste des modèles. Vous pouvez tout de même créer une liste en tapant le lien suivant (les valeurs comprises entre {} sont à renseigner par vos propres valeurs) :http://{SharePoint Server}/_layouts/{LanguageID – ex : 1036}/new.aspx?NewPageFilename={template.stp}&ListTemplate=100&ListBaseType=0
Libellés :
Sharepoint
lundi 4 février 2008
Personnaliser la recherche WSS 3.0 et MOSS 2007
Le système de recherche des Windows SharePoint Services peut-être personnalisé pour correspondre à la charte graphique du site. Si cela est plutôt facile lorsque l'on utilise MOSS (comme nous le verrons plus loin), cela demande un peu plus de gymnastique sous WSS...
SOUS WSS
Création du controle
Tout d'abord nous devons créer un contrôle ascx (appelons le 'MySearchArea.ascx') qui prendra la place du 'SearchArea.ascx' situé dans C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES
Copiez le contenu de 'SearchArea.ascx' dans votre contrôle et modifiez les lignes suivantes :
Edition de Core.js
Ensuite éditez le fichier C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\1033\Core.js
Insérer deux nouvelles fonctions Javascript avec le code suivant :
Editer la MasterPage
Editez votre masterpage et ajouter votre nouveau contrôle :
Page de résultat
Créez une nouvelle page 'searchresults.aspx' dans une bibliothèque de documents de votre site qui hérite de votre charte graphique (masterpage) et faite un copier coller du code de la page SharePoint pour son contenu C:\Program Files\Fichiers communs\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\searchresults.aspx
Web.config
Enfin, modifiez le 'Web.config' de votre application web :
Section PageParserPaths
Faites un IISRESET... c'est prêt! :)
Un grand merci à cet article pour m'avoir mâché le boulot http://www.cnblogs.com/sky-tcff/archive/2007/10/22/930818.html
Sous MOSS
Pour ce qui est de MOSS, il suffit d'éditer les fichiers 'SearchArea.xml' présents dans les répertoires
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\OSearchBasicFeature
et
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\OSearchEnhancedFeature
pour modifier l'image par exemple cela donne :
Pour plus d'infos :
http://clintcherry.spaces.live.com/blog/cns!AEC0DCBC460E45B9!421.entry
http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.portal.webcontrols.searchboxex_members.aspx
Voili, voilou... bon courage :)
SOUS WSS
Création du controle
Tout d'abord nous devons créer un contrôle ascx (appelons le 'MySearchArea.ascx') qui prendra la place du 'SearchArea.ascx' situé dans C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\CONTROLTEMPLATES
Copiez le contenu de 'SearchArea.ascx' dans votre contrôle et modifiez les lignes suivantes :
<SELECT id='idSearchScope' name='MySearchScope' class='ms-searchbox' title=<%SPHttpUtility.AddQuote(SPHttpUtility.HtmlEncode(SearchScopeToolTip),Response.Output);%>>Laissez le dans le même répertoire que son grand frère ;)
<INPUT Type=TEXT id='idSearchString' size=25 name='MySearchString' display='inline' maxlength=255 ACCESSKEY=S class='ms-searchbox' onKeyDown="return MySearchKeyDown(event, <%=strEncodedUrl%>);" title=<%SPHttpUtility.AddQuote(SPHttpUtility.HtmlEncode(SearchTextToolTip),Response.Output);%>>
</td>
<td>
<div class="ms-searchimage"><a target='_self' href='javascript:' onClick="javascript:MySubmitSearchRedirect(<%=strEncodedUrl%>);javascript:return false;" title=<%SPHttpUtility.AddQuote(SPHttpUtility.HtmlEncode(SearchImageToolTip),Response.Output);%> ID=onetIDGoSearch><img border='0' src="/images/mon_image.gif" alt=<%SPHttpUtility.AddQuote(SPHttpUtility.HtmlEncode(SearchImageToolTip),Response.Output);%>></a></div>
Edition de Core.js
Ensuite éditez le fichier C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\1033\Core.js
Insérer deux nouvelles fonctions Javascript avec le code suivant :
function MySubmitSearchRedirect(strUrl)
{
var frm=document.forms["frmSiteSearch"];
frm=document.forms[MSOWebPartPageFormName];
var searchText=frm.elements["MySearchString"].value;
var searchScope=frm.elements["MySearchScope"].value;
strUrl=strUrl+"?k="+escapeProperly(searchText)+"&u="+escapeProperly(searchScope);
window.location = strUrl;
}
function MySearchKeyDown(event, strUrl)
{
if (IsKeyDownSubmit(event))
{
MySubmitSearchRedirect(strUrl);
return false;
}
return true;
}
Editer la MasterPage
Editez votre masterpage et ajouter votre nouveau contrôle :
<%@ Register tagprefix="uc1" tagname="customsearch" src="~/_controltemplates/MySearchArea.ascx" >
Répérez le div 'SearchArea' et remplacez le par le code suivant (n'oubliez de mettre à false la propriété Visible du contrôle SharePoint) :
<div id="SearchArea"><uc1:customsearch id="customsearch1" runat="server"/><asp:ContentPlaceHolder id="PlaceHolderSearchArea" runat="server" Visible="false" ><SharePoint:DelegateControl runat="server" ControlId="SmallSearchInputBox"/></asp:ContentPlaceHolder></div>
Page de résultat
Créez une nouvelle page 'searchresults.aspx' dans une bibliothèque de documents de votre site qui hérite de votre charte graphique (masterpage) et faite un copier coller du code de la page SharePoint pour son contenu C:\Program Files\Fichiers communs\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\searchresults.aspx
Web.config
Enfin, modifiez le 'Web.config' de votre application web :
Section PageParserPaths
<PageParserPath VirtualPath="/Pages/searchresults.aspx" CompilationMode="Always" AllowServerSideScript="true" />Section SafeControls
<SafeControl Assembly="Microsoft.SharePoint.ApplicationPages, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Namespace="Microsoft.SharePoint.ApplicationPages" TypeName="*" Safe="True" AllowRemoteDesigner="True" />
Faites un IISRESET... c'est prêt! :)
Un grand merci à cet article pour m'avoir mâché le boulot http://www.cnblogs.com/sky-tcff/archive/2007/10/22/930818.html
Sous MOSS
Pour ce qui est de MOSS, il suffit d'éditer les fichiers 'SearchArea.xml' présents dans les répertoires
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\OSearchBasicFeature
et
C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\OSearchEnhancedFeature
pour modifier l'image par exemple cela donne :
<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<Control Id="SmallSearchInputBox" Sequence="50" ControlClass="Microsoft.SharePoint.Portal.WebControls.SearchBoxEx" ControlAssembly="Microsoft.SharePoint.Portal, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c">
<Property Name="GoImageUrl">/images/mon_image.gif</Property>
<Property Name="GoImageUrlRTL">/_layouts/images/goRTL.gif</Property>
<Property Name="GoImageActiveUrl">/images/mon_image.gif</Property>
<Property Name="GoImageActiveUrlRTL">/_layouts/images/goRTL.gif</Property>
<Property Name="DropDownMode">ShowDD</Property>
<Property Name="SearchResultPageURL">/_layouts/osssearchresults.aspx</Property>
<Property Name="ScopeDisplayGroupName"></Property>
<Property Name="FrameType">None</Property>
</Control>
</Elements>
Pour plus d'infos :
http://clintcherry.spaces.live.com/blog/cns!AEC0DCBC460E45B9!421.entry
http://msdn2.microsoft.com/en-us/library/microsoft.sharepoint.portal.webcontrols.searchboxex_members.aspx
Voili, voilou... bon courage :)
Libellés :
Sharepoint
vendredi 1 février 2008
Boulatek qu'est-ce que c'est ?
Le Boulatin vous souhaite la bienvenue sur son blog :)
Celui-ci a pour objet de centraliser toutes les infos techniques glanées ici et là au fil des développements. Une sorte de pense bête technique (PBT) ou mémento idiot techno (MIT) comme vous préférez :)
Du .net (C# et consorts), MOSS, WSS etc...
Voilà, en espérant que cela vous soit utile comme à moi
++
Celui-ci a pour objet de centraliser toutes les infos techniques glanées ici et là au fil des développements. Une sorte de pense bête technique (PBT) ou mémento idiot techno (MIT) comme vous préférez :)
Du .net (C# et consorts), MOSS, WSS etc...
Voilà, en espérant que cela vous soit utile comme à moi
++
Inscription à :
Articles (Atom)