Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Macro Exel Arbeitsblatt öffnen und unter gleichem Namen abspeichern

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
Strömungssimulation auf der 3DEXPERIENCE Plattform
Autor Thema:  Macro Exel Arbeitsblatt öffnen und unter gleichem Namen abspeichern (4030 mal gelesen)
Peter_Pan
Mitglied
Dipl. Ing. (FH) Maschinenbau


Sehen Sie sich das Profil von Peter_Pan an!   Senden Sie eine Private Message an Peter_Pan  Schreiben Sie einen Gästebucheintrag für Peter_Pan

Beiträge: 16
Registriert: 08.10.2002

Win 7 x64
SWX 2011 SP4.0 Premium

erstellt am: 14. Nov. 2007 09:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Macro und API Profis,

ich hänge seit mehreren Tagen an einem Speicherproblem in meinem Macro.

Funktion:
Aus Solid Works starte ich ein Macro, das eine Eingabemaske öffnet
Nach der Eingabe der Werte startet das Macro Excel und ruft eine bestehende Excel Tabelle auf
In der Excel Tabelle ist ebenfalls ein Macro hinterlegt, das ich starte und Berechnungen durchführe
Nach Beendigung des Macros in Excel werden die errechneten Werte ins SWXSolidWorks Macro eingelesen
Die Excel Tabelle wird (oder soll??) unter dem gleichen Namen wieder abgespeichert
Excel wird geschlossen
Ergebnis Ausgabe in SWXSolidWorks

Mein Problem:
Beim ersten Durchlauf funktioniert alles, jedoch wird die Ecxel Tabelle nicht wirklich unter seinem Namen abgespeichert, sondern es entsteht eine zusätzliche Datei: RESUME.XLW
Beim nächsten Durchlauf ist dann kein speichern mehr möglich

Meine Vermutung:
Ich denke, der Schlüssel liegt schon beim öffnen der Excel Tabelle. An diesem Punkt komme ich nicht mehr weiter.
Auch im Forum und Google war nicht die Lösung zu finden.
Vielleicht weiß hier jemand die Lösung?


Hier der Programmteil, an dem ich an Excel herangehe:

Option Explicit
Dim ExcelApp As Object

'Arbeiten mit Excel
Set ExcelApp = CreateObject("Excel.Application") 'Excel öffnen
ExcelApp.Visible = False        'Excel ausblenden

ExcelApp.Workbooks.Open Pfad    'Dokument öffnen

ExcelApp.Application.Cells(2, 7).Value = Nummer_min  'In Excel Zelle schreiben
ExcelApp.Application.Cells(3, 7).Value = Nummer_max  'In Excel Zelle schreiben

'Aufruf von Suchprogramm in Excel
ExcelApp.Application.Run "Zeichnungsnummern.xls!Nummer_eintragen"


Nummer = ExcelApp.Application.Cells(4, 7)        'Ergebnis aus Zelle lesen

ExcelApp.Application.Cells(2, 7).Value = ""  'In Excel Zelle löschen
ExcelApp.Application.Cells(3, 7).Value = ""  'In Excel Zelle löschen
ExcelApp.Application.Cells(4, 7).Value = ""  'In Excel Zelle löschen

ExcelApp.Save                  'Sichern

ExcelApp.Workbooks.Close        'Dokument schließen
ExcelApp.Quit                  'Excel verlassen
Set ExcelApp = Nothing

------------------
Viele Grüße

Peter

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Piet
Mitglied
Konstruktionsleiter & Konstrukteur


Sehen Sie sich das Profil von Piet an!   Senden Sie eine Private Message an Piet  Schreiben Sie einen Gästebucheintrag für Piet

Beiträge: 661
Registriert: 20.11.2001

SWx 2021

erstellt am: 14. Nov. 2007 14:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Peter_Pan 10 Unities + Antwort hilfreich

Mit dem Ansprechen von Excel bin ich nicht fit, aber ich habe in einem meiner Makros auch einen Excel-Zugriff drin. Bei mir wird die Excel-Datei allerdings nicht gespeichert.

Hier ein Auszug aus meinem Code, vielleicht fällt dir ja was auf.

Piet

Public xlApp As Object
Public wb As Object    'workbook
Public ws As Object    'worksheet
...
Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False                              ' unsichtbar
xlApp.UserControl = False                          ' von hier kein Zugriff auf die Excel-Datei
...
Set wb = xlApp.Workbooks.Open(Excelpfad)
Set ws = wb.Worksheets(2)
' Excel-Zugriff
...
Set ws = Nothing
Set wb = Nothing
xlApp.Quit
Set xlApp = Nothing

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Peter_Pan
Mitglied
Dipl. Ing. (FH) Maschinenbau


Sehen Sie sich das Profil von Peter_Pan an!   Senden Sie eine Private Message an Peter_Pan  Schreiben Sie einen Gästebucheintrag für Peter_Pan

Beiträge: 16
Registriert: 08.10.2002

Win 7 x64
SWX 2011 SP4.0 Premium

erstellt am: 14. Nov. 2007 17:22    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Piet,
vielen Dank für Deine Antwort. Bin mittlerweile selbst auf die Lösung gekommen. Für alle die es interessiert, hier die Auflösung.

Speichern funktioniert so:
ExcelApp.ActiveWorkbook.Save

Schließen ohne speichern:
ExcelApp.ActiveWorkbook.Close SaveChanges:=False

------------------
Viele Grüße
Peter

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz