Hallo habe ein leidiges Thema: Excel
Ich habe eine Exceldatei, aus welcher ich die Werte einlesen möchte.Ich habe auch ein Befehl gefunden welches mir die Datei aufmacht, außerdem ließ es mir auch die Werte raus.
ABER:
-Die Datei enthält meherere Tabellenblätter (Ansprache über Item(1,2,3..)
--> wenn ich die Datei öffne--> öffnet es mir immer wieder die Datei mit dem letzten Tabellenblatt wobei ich den ersten haben möchte. WIE verändere ich dies denn?!?
-Nach dem Öffnen der Datei, möchte ich die Werte verändern und durch das Betätigen des Buttons Speichern oder Schließen, sollen die veränderten Werte gespeichert werden und erst dann eingelesen werden! Nicht vorher schon mit den alten werten!
- Dadurch dass die Tabelle mehrere Sheets enhält möchte ich im anderen Beispiel die Werte für bestimmte Koordinaten einlesen(aus Excel Datei) und nachdem diese erzeugt wurden und eine Spline gebildet wurde möchte ich die tabelle nocheinmal Öffnen und wie Werte verändern und dass die Spline sich wieder mitverändert (durch schließen und Speichern der neuen Werte bzw der Datei)
Hoping for Help
Hier Code ausschnitte
für 1.
'--------------------------------------------------------------------------------
'Öffnen der Tabelle und verändern dieser-----------------------------------------
Dim objXL As Object
Dim WB As Workbook
Dim WS As Worksheet
Set objXL = CreateObject("Excel.Application")
objXL.Visible = True
Set WB = objXL.Workbooks.Open("K:\G_Projekte\Projekte_Team_Rohbau\Tueren BY624\Excel\Parametereingabe.xls") ' Arbeitsmappe öffnen
Set WS = WB.Worksheets.Item(1) ' Tabelle holen
'objXL.ActiveWorkbook.Save saveChanges:=True
'objXL.Quit
'Excel.Application.EnableEvents = False
'Excel.ActiveWorkbook.Save
'Excel.Application.EnableEvents = True
''ExcelTest.Workbooks("test.xls").Save'
''Excel.workbooks.Close 'SaveChanges:=True
'Achtung hier die Zuweisung der Zellen sein!-----------------------------------
AbstandX = CDbl(WS.Cells(1, 2).Value)
AbstandY = CDbl(WS.Cells(2, 2).Value)
AbstandZ = CDbl(WS.Cells(3, 2).Value)
NWinkel_1 = CDbl(WS.Cells(4, 2).Value)
NWinkel_2 = CDbl(WS.Cells(5, 2).Value)
Scharnierabstand = CDbl(WS.Cells(6, 2).Value)
ScharWinkel = CDbl(WS.Cells(7, 2).Value)
Tuerauf = CDbl(WS.Cells(8, 2).Value)
part1.Update
für 2.
'ExcelTabelle Erfahrungswerte
Set WB = objXL.Workbooks.Open("K:\G_Projekte\Projekte_Team_Rohbau\Tueren BY624\Excel\Parametereingabe.xls") ' Arbeitsmappe öffnen
Set WS = WB.Worksheets.Item(3)
'Werte werden hier ausgelesen
X1 = CDbl(WS.Cells(2, 2).Value)
X2 = CDbl(WS.Cells(3, 2).Value)
X3 = CDbl(WS.Cells(4, 2).Value)
X4 = CDbl(WS.Cells(5, 2).Value)
X5 = CDbl(WS.Cells(6, 2).Value)
'--------------------------------------------------------------------------------
'Geo Set TOEL erzeugen
Dim TOELPunkte As HybridBody
Set TOELPunkte = HB3.Add()
TOELPunkte.Name = "TOEL"
part1.Update
'Punkte für TOEL erzeugen
Dim RefTOELP1, RefTOELP2, RefTOELP3, RefTOELP4, RefTOELP5 As Reference
Set RefTOELP1 = part1.CreateReferenceFromObject(P1)
Set RefTOELP2 = part1.CreateReferenceFromObject(Extrem2)
Set RefTOELP3 = part1.CreateReferenceFromObject(PMitte)
Set RefTOELP4 = part1.CreateReferenceFromObject(Extrem3)
Set RefTOELP5 = part1.CreateReferenceFromObject(P2)
Dim TOELP1, TOELP2, TOELP3, TOELP4, TOELP5 As HybridShapePointCoord
Set TOELP1 = Wzk3DH.AddNewPointCoordWithReference(-X1, 0, 0, RefTOELP1)
Set TOELP2 = Wzk3DH.AddNewPointCoordWithReference(-X2, 0, 0, RefTOELP2)
Set TOELP3 = Wzk3DH.AddNewPointCoordWithReference(-X3, 0, 0, RefTOELP3)
Set TOELP4 = Wzk3DH.AddNewPointCoordWithReference(-X4, 0, 0, RefTOELP4)
Set TOELP5 = Wzk3DH.AddNewPointCoordWithReference(-X5, 0, 0, RefTOELP5)
TOELPunkte.AppendHybridShape TOELP1
TOELPunkte.AppendHybridShape TOELP2
TOELPunkte.AppendHybridShape TOELP3
TOELPunkte.AppendHybridShape TOELP4
TOELPunkte.AppendHybridShape TOELP5
TOELP1.Name = "TOELP1"
TOELP2.Name = "TOELP2"
TOELP3.Name = "TOELP3"
TOELP4.Name = "TOELP4"
TOELP5.Name = "TOELP5"
part1.Update
'Spline
Dim TOEL As HybridShapeSpline
Set TOEL = Wzk3DH.AddNewSpline()
TOELPunkte.AppendHybridShape TOEL
TOEL.Name = "TOEL"
Dim SP1, SP2, SP3, SP4, SP5 As Reference
Set SP1 = part1.CreateReferenceFromObject(TOELP1)
Set SP2 = part1.CreateReferenceFromObject(TOELP2)
Set SP3 = part1.CreateReferenceFromObject(TOELP3)
Set SP4 = part1.CreateReferenceFromObject(TOELP4)
Set SP5 = part1.CreateReferenceFromObject(TOELP5)
TOEL.AddPoint SP1
TOEL.AddPoint SP2
TOEL.AddPoint SP3
TOEL.AddPoint SP4
TOEL.AddPoint SP5
part1.Update
'Hier nochmal Excel Öffnen um die Werte zu verändern und die Spline zu aktualisieren.
das dumme ist wenn ich das Makro durchlaufen lasse öffnet es mir excel 2 MAL
WIE kann ich das Makro stoppen während ich die Werte veränder?!?
'hmm schade gibt es keinen smile zum verzweifeln?!?
[Diese Nachricht wurde von miezeka am 17. Okt. 2008 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP