| | |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | |  | SolidWorks Kurs mit IHK-Zertifzierung , ein Kurs (bis zu 100% förderbar mit Bildungsgutschein)
|
|
Autor
|
Thema: API: Excel-Datei öeffnen (2460 mal gelesen)
|
Thomas5 Mitglied Konstrukteur, SWX-Admin
 
 Beiträge: 420 Registriert: 14.07.2003 SWX2013
|
erstellt am: 24. Okt. 2013 14:06 <-- editieren / zitieren --> Unities abgeben:         
Hallo, seit langem öffne von SWX  aus meine Excel-Stückliste mit einem Makro. Unter Excel2003 und Window XP funktionierte das auch einwandfrei. Nun mußte ich auf W7-64bit und Excel2013 umsteigen, und da funktioniert mein Code: Code: Set XL1 = GetObject(xlDateipfad) 'Excel und vorh. StüLi öffnen For i = 1 To XL1.Parent.Windows.Count 'Excel-Fenster aktiv machen If UCase(XL1.Parent.Windows(i).Caption) = UCase(Mid(xlDateipfad, InStrRev(xlDateipfad, "\") + 1)) Then XL1.worksheets(1).Activate XL1.Windows(1).Activate XL1.Parent.Windows(i).Visible = True XL1.Parent.Windows(i).Activate End If Next XL1.Application.Visible = True Set XL1 = Nothing
nicht mehr wie gewohnt. 1. In der Taskleiste erscheinen zwei Excel-Schaltflächen und dazu auch zwei Excel-Fenster. Das eine ist leer, und in den dahinterliegenden Fenster ist meine Stückliste. 2. Ist die Excel-Stückliste schon geöffnet und im Hintergrund, wird sie durch mein Makro nicht mehr wie gewohnt in den Vordergrund gebracht. Meine Frage: Weiß jemand eine andere Methode, mit der es mir gelingt, meine Excel-Stückliste egal ob geschlossen, oder bereits geöffnet zur Anzeige zu bringen?
Viele Grüße Thomas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
    
 Beiträge: 1764 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 28. Okt. 2013 09:02 <-- editieren / zitieren --> Unities abgeben:          Nur für Thomas5
Hallo Thomas ich weiß nicht ob Dir das hilft, weil wir die Kombination Win7/64-Bit und Office 2010 32-Bit verwenden, aber bei mir funktioniert das mit folgendem Code (die Anweisung workbooks.open musst Du halt anpassen) Sub main() Dim Excel As Excel.Application Dim excel_NOK As Boolean Dim FileName As String Dim swapp As Object Set swapp = CreateObject("SldWorks.Application") On Error Resume Next ' Versuch einen Verweis auf Excel zu bekommen Set Excel = GetObject(, "Excel.Application") ' Wenn ein Fehler auftritt dann läuft Excel noch nicht If Err.Number <> 0 Then excel_NOK = True Err.Clear ' Wenn Excel noch nicht läuft, dann wird es gestartet If excel_NOK = True Then Set Excel = CreateObject("excel.application") End If Excel.Visible = True
FileName = swapp.GetCurrentMacroPathName Excel.workbooks.open Left(swapp.GetCurrentMacroPathName, InStrRev(swapp.GetCurrentMacroPathName, "\")) + "Combo-01.xlsx" End Sub
------------------ Grüße Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
Thomas5 Mitglied Konstrukteur, SWX-Admin
 
 Beiträge: 420 Registriert: 14.07.2003 SWX2013
|
erstellt am: 28. Okt. 2013 13:56 <-- editieren / zitieren --> Unities abgeben:         
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |