Tips en trucs bij het publiceren van cockpits
Op deze pagina komen enkele extra mogelijkheden in Excel-macro's aan bod.
Inhoud |
Voorkomen dat verborgen kolommen gepubliceerd worden
Je kunt kolommen in een Excel-werkblad verbergen, zodat deze niet zichtbaar zijn. Bij het publiceren naar webpagina's worden echter de verborgen kolommen ook gepubliceerd.
Voorkomen dat verborgen kolommen gepubliceerd worden:
- Gebruik voor de te publiceren cockpit een apart werkblad. Plaats berekeningen en andere informatie die je niet wilt publiceren op andere werkbladen die niet als webpagina gepubliceerd worden.
- Publiceer nooit een volledig werkblad, maar altijd een celbereik (cell range) op dit werkblad. Je ziet hiervan een voorbeeld in de voorbeeldcode.
Het bereik is gedefinieerd in de variabele StrPublishArea.
In de aanroep waarmee de cockpit feitelijk gepubliceerd wordt, is deze variabele opgenomen.
Pagina-hoogte dynamisch instellen
In de functie 'PublishAnalysis' geef je de hoogte van de te publiceren htm-pagina op in de variabele 'strHeightInPixels'.
Vaste hoogte:
Je kunt een vaste hoogte gebruiken:
Dim strHeightInPixels As String
strHeightInPixels = "1500px"
Dim strWidthInPixels As String
strWidthInPixels = "990px"
Hoogte dynamisch instellen:
Gebruik de onderstaande code als je de paginahoogte afhankelijk wilt maken van het te publiceren Excel-werkblad:
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"
MSXML 6 activeren
Windows Server 2008 ondersteunt MSXML 4.0, maar je kunt ook MSXML 6 gebruiken. Hiermee kun je mogelijk foutmeldingen voorkomen.
MSXML 6 activeren:
- Ga in de macro-editor van Excel naar 'Extra / Verwijzingen'.
- Vink 'Microsoft XML vs 6' aan.
- Wijzig de functie 'GenerateXMLForInSite'.
- Je verwijdert volgende regels:
Dim objDom As New DOMDocument
Dim objCockpitElement As IXMLDOMElement
Dim objAttribute As IXMLDOMAttribute
- Plak deze regels in de functie:
Dim objDom As New MSXML2.DOMDocument60
Dim objCockpitElement As MSXML2.IXMLDOMElement
Dim objAttribute As MSXML2.IXMLDOMAttribute