Conseils et astuces lors de la publication des cockpits
Cette page propose quelques possibilités supplémentaires dans les macros Excel.
Éviter que les colonnes cachées soient publiées :
Vous pouvez cacher des colonnes dans une feuille de calcul Excel, afin qu'elles ne soient pas visibles. Lors de la publication vers des pages web, les colonnes cachées sont toutefois aussi publiées. Vous pouvez éviter cela comme suit :
- Utilisez une feuille de calcul distincte pour le cockpit à publier. Placez les calculs et d'autres informations que vous ne voulez pas publier sur d'autres feuilles de calcul qui ne sont pas publiées comme page web.
- Ne publiez jamais une feuille de calcul entière, mais toujours une portée de cellules (cell range) de cette feuille de calcul. Vous en voyez un exemple dans le code d'exemple.
La portée est définie dans la variable StrPublishArea.
Cette variable est reprise dans l'appel avec lequel le cockpit est publié concrètement.
Paramétrage dynamique de la hauteur de page :
Dans la fonction 'PublishAnalysis', vous indiquez la hauteur de la page htm à publier dans la variable 'strHeightInPixels'.
Vous pouvez définir une hauteur fixe :
Dim strHeightInPixels As String
strHeightInPixels = "1500px"
Dim strWidthInPixels As String
strWidthInPixels = "990px"
Utilisez le code ci-dessous pour faire dépendre la hauteur de page de la feuille de travail Excel à publier :
Dim strHeightInPixels As String
Dim strWidthInPixels As String
Dim strActualHeight As String
Dim strActualWidth As String
strActualHeight = Worksheets(strSheetName).Range(strPublishArea).Height
strHeightInPixels = CStr(Round(strActualHeight * 1.322834646) + 1) + "px"
strActualWidth = Worksheets(strSheetName).Range(strPublishArea).Width
strWidthInPixels = CStr(Round(strActualWidth * 1.322834646) + 1) + "px"
Activation de MSXML 6 :
Windows Server 2008 prend en charge MSXML 4.0, mais vous pouvez également utiliser MSXML 6. Vous pouvez ainsi prévenir d'éventuels messages d'erreur.
- Dans l'éditeur macro d'Excel, allez vers 'Extra / Renvois'.
- Sélectionnez la case à cocher 'Microsoft XML vs 6'.
- Modifiez la fonction GenerateXMLForInSite.
- Supprimez les lignes suivantes :
Dim objDom As New DOMDocument
Dim objCockpitElement As IXMLDOMElement
Dim objAttribute As IXMLDOMAttribute
- Collez ces lignes dans la fonction :
Dim objDom As New MSXML2.DOMDocument60
Dim objCockpitElement As MSXML2.IXMLDOMElement
Dim objAttribute As MSXML2.IXMLDOMAttribute