Autor Thema: Excel Export - Formatierung im 2 Sheet verändern - wie?  (Gelesen 1869 mal)

Offline sculer

  • Aktives Mitglied
  • ***
  • Beiträge: 117
Hey Leute,

ich exportiere gerade ein paar Daten in ein Excel. Im gleichen Zug führe ich natürlich noch ein paar Formatierungsbefehle aus, so dass dies auch irgendwo ordentlich aussieht.
Soweit kein Problem.

Ich Exportiere jedoch die Daten in verschieden Sheets/Blätter.
Da eine typische Formatierungbefehl bei mir so aussieht:

Code
excelApp.Columns("A").Select
excelApp.Selection.Font.Bold = True				'1. SPALTE Fett machen

führt der Befehl dazu, dass die Formiatierung immer im ersten Sheet ausgeführt wird. Ich denk mal, dass kommt daher, dass das "ExcelApp" Objekt wohl immernoch auf das erste Sheet zeigt.

Wie kann ich den Zeiger auf den Sheet2 umlenken!? Oder gibt es eine andere Möglichkeit (andere Befehle) die Formatierung im Sheet 2 auszuführen.

ICh hoffe es kommt klar herüber, was ich hier will.
(im Notfall baue ich mal ein kleines Beispiel Script zusammen, wenn dafür bedarf ist)

Gruß

BigWim

  • Gast
Re: Excel Export - Formatierung im 2 Sheet verändern - wie?
« Antwort #1 am: 12.06.10 - 20:01:58 »
Habe mal ein Excelmacro aufgezeichet und die Arbeitsblätter gewechselt. Vielleicht hilft es Dir ja ein Stück weiter

Code
excelapp.Sheets("Tabelle2").Select

Markus

Offline MaxMuster

  • Frischling
  • *
  • Beiträge: 19
Re: Excel Export - Formatierung im 2 Sheet verändern - wie?
« Antwort #2 am: 14.06.10 - 11:20:18 »
Der Ursprunscode von sculer arbeitet auf den Sichtbaren Daten. D.H.: Wenn der User irgendwo hinklickt läuft das Script gegen diese Zellen.

Hier ein Kurzes VBA Beispiel, wie direkt in die Zellen geschrieben wird. Der Fokus der GUI hat keinen Einfluss mehr.
Code
Dim mySheet As Worksheet
Dim idxRow, idxCol As Double
    
Set mySheet = Sheets(2) ' Sheets("Tabelle2") geht auch

For idxRow = 1 To 10
  For idxCol = 1 To 5
    mySheet.Cells(idxRow, idxCol) = "'" & CStr(idxRow) & ", " & CStr(idxCol)
  Next idxCol
Next idxRow

Damit das Ganze aus LotusScript funktioniert, müssen die VBA Objekte über das OLE Objekt referenziert werden.
Code
...
Set mySheet = excelApp.Sheets(2)
...

Hope that helps
z.Zt: Domino 7.0.2 / Notes 7.0.2 & 8.5.1

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz