Witam
Ten kod działa w programie Excel
sub Excel_test()
Url = "C:\Users\xx\Documents\SYSTEL\02-PROG\Macros\"
Fichier_Excel = "PART_Step.xlsm"
Cells(1, 10) = ExecuteExcel4Macro("'" & Url & "[" & Fichier_Excel & "]Liste'!" & Range("H2").Address(, , xlR1C1)) 'URL entrée
end sub
od Solidworks mam taki błąd
Private Sub UserForm_Initialize()
Dim swApp As SldWorks.SldWorks
Set swApp = Application.SldWorks
Url = "C:\Users\xx\Documents\SYSTEL\02-PROG\Macros\"
Fichier_Excel = "PART_Step.xlsm"
label3= ExecuteExcel4Macro("'" & Url & "[" & Fichier_Excel & "]Liste'!" & Range("H2").Address(, , xlR1C1)) 'URL entrée
end sub
jeśli ktoś ma pomysł
             
            
              
            
                
           
          
            
            
              Bonjour;
`Dim xlApp As Excel.Application
Set xlApp = New Excel.Application`
Voir (pour plus d'informations):
  
  
    
  Biorąc pod uwagę wszechobecność programu Microsoft Excel w działach inżynieryjnych na całym świecie, nie jest niespodzianką, że nasz samouczek "Korzystanie z programu Microsoft Excel z interfejsem API SolidWorks", dostępny dla członków Premium, jest jednym z naszych najpopularniejszych. Chociaż nie zamierzam omawiać...
  
    Szacowany czas czytania: 7 minut 
  
   
  
    
    
  
  
 
             
            
              3 polubienia 
            
            
                
           
          
            
            
              Dodałem
Dim xlApp As Excel.Application
To też nie działa
             
            
              
            
                
           
          
            
            
              Witam
O ile się nie mylę, w VBA nie ma możliwości uzyskania dostępu do zawartości pliku Excel bez jego otwierania.
             
            
              1 polubienie 
            
            
                
           
          
            
            
              Właśnie przetestowałem, że jest to możliwe w programie Excel, nie mogę znaleźć dopasowania do Solidworks
sub Excel_test()
Url = "C:\Users\xx\Documents\SYSTEL\02-PROG\Macros\"
Fichier_Excel = "PART_Step.xlsm"
Cells(1, 10) = ExecuteExcel4Macro("'" & Url & "[" & Fichier_Excel & "]Liste'!" & Range("H2").Address(, , xlR1C1)) 'URL entrée
end sub
 
            
              
            
                
           
          
            
            
              et en remplaçant
Cells(1, 10) = ExecuteExcel4Macro(.....
par
Set xlapp = CreateObject("Excel.application")
Label13 = xlapp.ExecuteExcel4Macro(.....
Des pistes relativement identiques ici:
  
  
      
     
  Excel, VBA, Excel-4.0 
   
  
    
    
  
  
 
             
            
              1 polubienie 
            
            
                
           
          
            
            
              Właśnie przetestowałem, więc działa w Excelu, ale na SW nie (błąd na linii zakresu).
             
            
              
            
                
           
          
            
            
              Essayez avec
  
  
    
  Naprawienie błędu w makrze, które łączy się z bazą danych (e.g. SQL, MySql, Oracle, MS Access itp.) lub dowolnym innym źródłem danych i nie odczytuje/zapisuje wartości lub wyświetla błąd
   
  
    
    
  
  
 
mais aussi:
  
  Merci Yves.T , 
Il me maquait la référence "Microsoft Excel XX.X Object library". 
Comment fait-on pour savoir quelles références sont nécessaires pour quel code ?? 
  
Sinon, pour alimenter ma Combobox j'ai utilisé le code suivant :  
Prywatny Sub UserForm_Initialize()
Dim i As Byte
Dim e As Ciąg
i = 1
Robić
    ComboBox1.AddItem ExecuteExcel4Macro("'C:\Documents and Settings\mimi\dossier\excel\[ClasseurBase.xlsx]Feuil1'! R" & i & "C1")
    i = i + 1
    e = ExecuteExcel4Macro("'C:\Dokumenty i ...   
 
             
            
              
            
                
           
          
            
            
              Nie chodzi o to, aby linia ExecuteExcel4Macro uległa awarii, ale o wywołanie Range.
             
            
              
            
                
           
          
            
            
              Komunikat o błędzie jest następujący, zgodnie z cytatem
             
            
              
            
                
           
          
            
            
              Witam
Metoda zakresowa nie jest obsługiwana przez wersję vba zintegrowaną z oprogramowaniem, więc pozostały dwa rozwiązania (drugie nie zostało jeszcze przetestowane na tym etapie):
Utwórz pętlę z funkcją, aby pobrać każdą żądaną kolumnę/wiersz, zobacz ExecuteExcel4Macro - Microsoft Community 
 
Wypróbuj funkcje podobne do ADODB. Połączenie, zobacz  Odczyt i zapis w zamkniętych skoroszytach programu Excel (developpez.com) 
 
 
Przetestowałem więc tylko ten pierwszy, który działa poprawnie.
             
            
              2 polubienia 
            
            
                
           
          
            
            
              czy możesz umieścić odpowiednie makro, nie mogę tego zrobić za pomocą rozwiązania 1
             
            
              
            
                
           
          
            
            
              Czy możesz mi po prostu powiedzieć, w którym zakresie chcesz pobrać wartości?  (na przykład typ A1:C2)
             
            
              
            
                
           
          
            
            
              oto mój oryginalny kod, który nie działa, H2
Private Sub UserForm_Initialize()
Dim swApp As SldWorks.SldWorks
Set swApp = Application.SldWorks
Url = "C:\Users\xx\Documents\SYSTEL\02-PROG\Macros\"
Fichier_Excel = "PART_Step.xlsm"
label3= ExecuteExcel4Macro("'" & Url & "[" & Fichier_Excel & "]Liste'!" & Range("H2").Address(, , xlR1C1)) 'URL entrée
end sub
 
            
              
            
                
           
          
            
            
              Aby w pełni zrozumieć, czy chcesz tylko ogniwo H2?
             
            
              
            
                
           
          
            
            
              W tym przypadku znacznie prościej:
label3= ExecuteExcel4Macro("'" & Url & "[" & Fichier_Excel & "]Liste'!" & "R2C8") 'URL entrée
 
            
              1 polubienie 
            
            
                
           
          
            
            
              Świetnie, działa
Oto kolejny przykład dla tych, którzy są zainteresowani
Label2 = ExecuteExcel4Macro("'" & url & "[" & Fichier_Excel & "]Liste'!" & "R11C8") & "\" & _
         ExecuteExcel4Macro("'" & url & "[" & Fichier_Excel & "]Liste'!" & "R11C7") & _
         "-STEP\"  'URL sortie
 
            
              2 polubienia 
            
            
                
           
          
            
            
              Nadal dziwne jest, że funkcja "ExecuteExcel4Macro" akceptuje współrzędne tabeli, takie jak " Wiersz "+" Kolumna ", ale nie "Zakres... Radość z informatyki i jej tajemnice... 
             
            
              1 polubienie 
            
            
                
           
          
            
            
              Jak już powiedziałem, myślę, że API oprogramowania jest na funkcjach 64-bitowych, podczas gdy w Excelu jest to 32.
             
            
              2 polubienia