Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Makro aus einem Addin starten

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 Autodesk Produkte
Autor Thema:  Makro aus einem Addin starten (1926 mal gelesen)
Frank_Schalla
Ehrenmitglied
CAD_SYSTEMBETREUER


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

Beiträge: 1731
Registriert: 06.04.2002

DELL M6800
Cad Admin
Methodikentwickler 3D

erstellt am: 20. Feb. 2004 09:49    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


context.zip

 
Angehängt ein ADDIN welches ein Kontextmenü innerhalb der Diva erzeugt.
Ich will erreichen das bei Anwahl ein bereits geladenes Macro (VBA) gestartet wird.
Der Eintrag wird erzeugt (siehe Angehängte DLL.
But nothing happens 
*************************************
Option Explicit

Implements ApplicationAddInServer
Private oApp As Inventor.Application
Private WithEvents oInputEvents As UserInputEvents
Private WithEvents oFaceAreaButton As ButtonDefinitionHandler
Private oFace As Face

Private Sub ApplicationAddInServer_Activate(ByVal AddInSiteObject As Inventor.ApplicationAddInSite, ByVal FirstTime As Boolean)
    Set oApp = AddInSiteObject.Application
    Set oInputEvents = oApp.CommandManager.UserInputEvents
    ' Create a new command that will be used later on the context menu.
    Set oFaceAreaButton = AddInSiteObject.CreateButtonDefinitionHandler("MySampleContextCommand", kQueryOnlyCmdType, "Senden an IV NATIV")
End Sub

Private Property Get ApplicationAddInServer_Automation() As Object
    Set ApplicationAddInServer_Automation = Nothing
End Property

Private Sub ApplicationAddInServer_Deactivate()
    Set oFace = Nothing
    Set oFaceAreaButton = Nothing
    Set oInputEvents = Nothing
    Set oApp = Nothing
End Sub

Private Sub ApplicationAddInServer_ExecuteCommand(ByVal CommandID As Long)
    ' Not used.
End Sub

Private Sub oFaceAreaButton_OnClick()
 
    On Error Resume Next
    Dim oVBAProject As InventorVBAProject
    Dim oVBAComponent As InventorVBAComponent
    Dim oVBAMember As InventorVBAMember

    Set oVBAProject = Nothing

    Dim oApp As Inventor.Application
    Set oApp = GetObject(, "Inventor.Application")
Set oVBAMember = oVBAComponent.InventorVBAMembers.Item("Inventor_nativ")

    oVBAMember.Execute
End Sub
Private Sub oInputEvents_OnContextMenu(ByVal SelectionDevice As Inventor.SelectionDeviceEnum, ByVal AdditionalInfo As Inventor.NameValueMap, ByVal CommandBar As Inventor.CommandBar)
    Dim oDoc As Document
    Set oDoc = oApp.ActiveDocument
   
    ' Do some trivial rejects first to determine if we're in a valid context for a
    ' face to be selected.
   
                Dim oControl As CommandBarControl
                Set oControl = CommandBar.Controls.Add(kBarControlButton, oFaceAreaButton.ControlDefinition, 2)
                oControl.GroupBegins = True
    End Sub

------------------
Es gab mal Zeiten, da haben wir und gefreut im 2D Ansichten gemalt  zu haben.
Lasst uns dies nicht vergessen wenn wir Ansichten erstellt bekommen 

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

PaulSchuepbach
Moderator
Programmierer




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

Beiträge: 1005
Registriert: 01.10.2003

erstellt am: 20. Feb. 2004 10:54    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 Frank_Schalla 10 Unities + Antwort hilfreich

Hallo Frank,

ich hab nur mal schnell reingeschaut, aber schau mal in:

Private Sub oFaceAreaButton_OnClick()
 
    On Error Resume Next
    Dim oVBAProject As InventorVBAProject
    Dim oVBAComponent As InventorVBAComponent
    Dim oVBAMember As InventorVBAMember


    Set oVBAProject = Nothing

    Dim oApp As Inventor.Application
    Set oApp = GetObject(, "Inventor.Application")

' Paul 
If oVBAComponent Is Nothing Then
  MsgBox "nothing"
End If

' Ende Paul


Set oVBAMember = oVBAComponent.InventorVBAMembers.Item("Inventor_nativ")

    oVBAMember.Execute


End Sub
 

 
Du hast 'oVBAComponent' nicht gesetzt, spaeter aber in 'Set oVBAMember = oVBAComponent.InventorVBAMembers.Item' willst Du darauf zugreifen.
Wie gesagt, ich habe nur mal schnell geschaut - aber spaetestens in dieser Zeile kackt's ab.


Gruesse,

Paul


www.morecam.ch/cad.htm

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

daywa1k3r
Moderator
Softwareentwickler




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

Beiträge: 3497
Registriert: 01.08.2002

Alienware m17x, Win7, Inventor2012

erstellt am: 20. Feb. 2004 12:45    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 Frank_Schalla 10 Unities + Antwort hilfreich

Hatten wir doch schon mal - ganz unten

------------------
Grüße daywa1k3r

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)2023 CAD.de | Impressum | Datenschutz