Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
156to160
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
156to160
156to160
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Vertical Alignment Probleme

Vertical Alignment Probleme
13.09.2002 10:26:55
Moritz
Hi zusammen!

Folgendes:

Set excel = CreateObject("Excel.Application")
Set ex = excel.Workbooks.open("C:\Ansprechpartner.xls")
'on error resume next
Excel.ActiveSheet.Cells.Select
Excel.Selection.VerticalAlignment = xlTop
'err.clear
ex.Save
excel.Quit
Set ex =Nothing
set excel = nothing

Bei diesem Code sagt mir die Kiste:
'Die VerticalAlignment-Eigenschaft des Range-Objektes kann nicht festgelegt werden.'
Warum geht das nicht?

Gruss, Mo

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Vertical Alignment Probleme
13.09.2002 10:43:10
ANdreas
Hallo Moritz,

erstmal versuch es besser ohne Select:
excel.ActiveSheet.Cells.VerticalAlignment = xlTop

Aber daran liegt es nicht, ich vermute mal in der geöffneten Tabelle ist ein Blattschutz gesetzt. Diesen dann vorher aufheben und vor dem Speichern wieder setzen! (nutze dazu .UnProtect bzw .Protect)

Hoffe das hilft weiter,
Andreas

Re: Vertical Alignment Probleme
13.09.2002 10:49:23
Moritz
Hat leider nicht geholfen!! AARGHHH!! Dieses Excel! Ich geh in die Klapse!
By the way, zu diesem Blattschutz, wird der Blattschutz eigentlich automatisch gesetzt wenn ixch ein neues Sheet generiere?

Grus, Mo

Re: Vertical Alignment Probleme
13.09.2002 11:08:13
ANdreas
Hallo Moritz,

Blattschutz wird nicht automatisch gesetzt!
Setze mal vor dem besagten Befehl folgende Zeile:
MsgBox excel.ActiveSheet.ProtectContents

Wenn die MsgBox "Falsch" anzeigt, dann muss es was anderes als der Blattschutz sein. Dann schreibe mal ob Du noch irgendwas "besonderes" in der Tabelle hast...

Andreas

Anzeige
Re: Vertical Alignment Probleme
13.09.2002 11:15:54
Moritz
Jo, er sagt 'Falsch'!
Ich generiere die Tabelle per VBS, hier mal der komplette Code:

Set excel = CreateObject("Excel.Application")
Set xlBook = Excel.Workbooks.Add
Set ex = xlBook.Sheets(1)
Set ps = ex.PageSetup
on error resume next
'############Headers on each page.

ps.LeftHeader = "&""Arial Black,Fett""&21VOITH PAPER"

ps.RightFooter = _
"&""Arial Black,Fett""&21VOITH" & Chr(10) & "&""Arial,Standard""&6GROUP OF COMPANIES"

ps.CenterFooter = "Page &P"
ps.Orientation = 2 '2 = xlLandscape => page orientated horizontaly

'######## Settings ############

excel.Columns("A:J").Select
Excel.Selection.HorizontalAlignment = -4131 'Alignment on the left of each cell

ex.Columns("A:J").WrapText = True
ex.Columns("E:J").ColumnWidth = 12
ex.Columns("A:A").ColumnWidth = 18
ex.Columns("B:B").ColumnWidth = 6
ex.Columns("C:C").ColumnWidth = 6
ex.Columns("D:D").ColumnWidth = 14

Excel.ActiveSheet.Cells..VerticalAlignment = xlTop <------- Hier das VerticalAlignment

ex.Cells.Font.Size = 6

'#########The thick lines (L2) at the top of the first page and the title ##########

ex.Rows("1:1").RowHeight = 2
ex.Range("1:1").Interior.ColorIndex = 5

ex.Rows.Range("A2") = "Verfahrensstufe"
ex.Rows.Range("B2") = "Bauart"
ex.Rows.Range("C2") = "Status"
ex.Rows.Range("D2") = "Name"
ex.Rows.Range("E2") = "Leitung COP (PG)"
ex.Rows.Range("F2") = "Konstruktion"
ex.Rows.Range("G2") = "Technologie"
ex.Rows.Range("H2") = "Projektierung"
ex.Rows.Range("I2") = "Abwicklung"
ex.Rows.Range("J2") = "Service"

ex.Rows("2:2").Font.Bold = True

ex.Rows("3:3").RowHeight = 2
ex.Range("3:3").Interior.ColorIndex = 5

Gras = False
Offset = 4
Hautini = 20.75 'Height of the page after the title <=> Hautini = 2*4 + 12.75
Haut = Hautini
HautLimit = 420 'Limit height of the page in order to call the page break

'############## Begin of the reading part ###########

For Ligne = 3 to tabcount

Ans1 = StrComp("L2", Tab(0, Ligne), 0)

If Ans1 = 0 Then 'Case it is a L1

If Haut > HautLimit then


ex.Rows(Offset).RowHeight = 0.5
ex.Range("A" & Offset & ":J" & Offset).Interior.ColorIndex = 5
Offset = Offset + 1

With excel.ActiveSheet
.HPAgeBreaks.Add .Range("A" & Offset )
End With


'Title of the subject on each pages
ex.Rows("1:3").Copy
ex.Rows(Offset).Select
ex.Paste

Haut = Hautini
Offset = Offset + 2

Else ' <=> If Haut < HautLimit


ex.Rows(Offset).RowHeight = 0.75
ex.Range("A" & Offset & ":J" & Offset).Interior.ColorIndex = 5

End If


Gras = False


Else '## <=> If Ans1 <> 0. Er schreibt hier den text ##

c = 0 ' c is the columns of the array (from 0 to 4)

For Asci = 65 to 74 ' <=> from A to J, the columns of the excel sheet
Col = Chr(Asci)
ex.Range(Col & Offset) = Tab(c, Ligne)
ex.Range(Col & Offset).Font.Bold = Gras

c = c + 1

Next

Gras = False

End If

RowH = ex.Rows(Offset).RowHeight
Haut = Haut +RowH
Offset = Offset + 1

Next

ex.Range("A1").Select

ex.SaveAs("C:\Temp\mdv\text" & zahl & ".xls")
err.clear
excel.Quit
Set excel = Nothing
Set xlBook = Nothing
Set ex = Nothing
Set ps = Nothing

Anzeige
Re: Vertical Alignment Probleme
13.09.2002 11:28:24
ANdreas
Hallo Moritz,

hab den relevanten Teil mal durchlaufen lassen, bei mir tritt kein Fehler auf. Aber ich vergaß vorhin dazuzuschreiben, dass Du keine Variable mit dem Namen excel vergeben solltest, benenne sie einfach um in varExcel oder so, vielleicht liegt es ja daran...

Andreas

Re: Vertical Alignment Probleme
13.09.2002 11:40:17
Moritz
Tja, leider geht es bei mir nicht, aber trotzdem vielen Dank für deine Mühen.

So sieht die Sache also aus nach deinen Angaben aus, habe das ganze mal über eine ganz normale Tabelle laufen lassen, da geht es auch nicht. Vielleicht hängt das ganze irgendwie an der Excel Version?

Set varExcel = CreateObject("Excel.Application")
Set ex = varExcel.Workbooks.open("C:\Ansprechpartner.xls")

varExcel.ActiveSheet.UnProtect
MsgBox varExcel.ActiveSheet.ProtectContents
varExcel.ActiveSheet.Cells.VerticalAlignment = xlTop
varExcel.ActiveSheet.Protect

ex.Save
varExcel.Quit
Set ex =Nothing
set varExcel = nothing

Gruss Mo

Anzeige
Re: Vertical Alignment Probleme
13.09.2002 12:28:24
ANdreas
Hallo Moritz,

die Sachen mit dem Blattschutz kannst Du alle wieder entfernen, war ja nur zum Testen.
Seltsam ist, dass es bei Dir bei HorizontalAlignment wohl fehlerfrei klappt.
Könnte eventuell an der Konstanten xlTop liegen?!? ersezte diese mal durch den Wert -4160:
varExcel.ActiveSheet.Cells.VerticalAlignment = -4160

Achso, hat es irgendeinen Grund warum Du extra eine neue Excelinstanz aufmachst???

Andreas

JAAAA!!!!!! DANKE!!!
13.09.2002 12:33:38
Moritz
Hasenrein, jetzt läufts wie geschmiert!

Mit der neuen Excelinstanz meinst du das 'Createobject'?
Das mache ich, weil das ganze eine automatisierte Anwendung auf dem Server ist und dort das Excel nicht ständig offen sein darf!

Nochmals vielen vielen Dank und ein schönes Wochenende!

Gruss, Mo

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige