Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  Inventor VBA
  Excel Datei in IDW einbetten

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:  Excel Datei in IDW einbetten (2766 mal gelesen)
Rodario7
Mitglied
Maschinenbautechniker


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

Beiträge: 85
Registriert: 08.02.2013

Windows 7 64bit
Inventor 2013
Visual Basic 2010 Express

erstellt am: 16. Feb. 2013 12:35    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 zusammen,
ich habe folgendes Problem.
Über mein kleines Programm fülle ich ein Excel sheet aus und füge es
in meine IDW ein.
Das funzt auch soweit.
Im Browser erscheint auch das Register Drittanbieter, und die Datei wird auch darunter angezeigt.
Leider erkennt unser Dateiverwaltungsprogramm das einbetten nicht und die Datei wird beim "einchecken" nicht mitgezogen.
Wenn ich eine Steuerdatei in z.B. eine ipt einbette geht das doch auch.
Was mache ich falsch?

Hier mal mein diesbezüglicher Code.

oref = oDoc.ReferencedOLEFileDescriptors.Add(HPfad & txtDrawingNumber.Text & DatZusatz & ".xlsx", OLEDocumentTypeEnum.kOLEDocumentEmbeddingObject)
                oref.Visible = False
                oDoc.Update()
                oref.BrowserVisible = True
                oref.DisplayName = txtDrawingNumber.Text & DatZusatz


Ich überlege schon ob ich eine Tabelle auf das sheet lege und diese mit der Excel Datei verknüpfe, nur weiß ich nicht wie ich das Codemäßig hinbekomme.

[Diese Nachricht wurde von Rodario7 am 16. Feb. 2013 editiert.]

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 16. Feb. 2013 17:57    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 Rodario7 10 Unities + Antwort hilfreich

Hi

Was meinst du mit die eingebettete Datei wird nicht mitgezogen? Fehlt sie nach dem Einchecken in der IDW? Oder wird deine originale Exceldatei nicht mit eingecheckt, was bei einer eingebetteten Datei korrekt wäre?

Ich glaub mit einer Tabelle wird das nichts, da die meines Wissens keine Verknüpfungen zu anderen Dateien kann. Dafür gibt's ja die eingebetteten Exceldateien.


Warum stellst du eigentlich dreimal die gleiche Frage?

------------------
MfG
Ralf

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

Rodario7
Mitglied
Maschinenbautechniker


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

Beiträge: 85
Registriert: 08.02.2013

Windows 7 64bit
Inventor 2013
Visual Basic 2010 Express

erstellt am: 16. Feb. 2013 18:08    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

Zitat:
Original erstellt von rkauskh:
Hi

Was meinst du mit die eingebettete Datei wird nicht mitgezogen? Fehlt sie nach dem Einchecken in der IDW? Oder wird deine originale Exceldatei nicht mit eingecheckt, was bei einer eingebetteten Datei korrekt wäre?

Ja sie fehlt, habe aber herausgefunden wie ich das ändere.
oref = oDoc.ReferencedOLEFileDescriptors.Add(HPfad & txtDrawingNumber.Text & DatZusatz & ".xlsx", OLEDocumentTypeEnum.kOLEDocumentLinkObject) ist der richtige Code
Leider kann ich die Excel Datei nicht auf der Zeichenüberfläche der IDW absetzen. d.h. sie ist für mich nur im Browser zu sehen.
Deswegen die Idee mit der Tabelle.


Ich glaub mit einer Tabelle wird das nichts, da die meines Wissens keine Verknüpfungen zu anderen Dateien kann. Dafür gibt's ja die eingebetteten Exceldateien.

Doch man kann eine Tabelle mit Excel verknüpfen.


Warum stellst du eigentlich dreimal die gleiche Frage?


Ich habe die Frage 2x in 2 verschiedenen Foren gestellt (VBA un VB.net)
Dadurch habe ich mir größere Resonanz erhofft.

Den 3. Thread habe ich erstellt weil ich da den Focus auf das Einfügen der Tabelle setzen wollte.
Das hatte ich ja vorher nur am Rande als Möglichkeit betrachtet.



Gruß
Klaus

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 16. Feb. 2013 19:01    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 Rodario7 10 Unities + Antwort hilfreich

Hallo

Euer Dateiverwaltungsprogramm entfernt eingebettete Objekt aus einer Zeichnung? Da würde ich mal einen Bug beim Hersteller der Dateiverwaltung melden.

Stimmt, die CustomTable hat eine AddLink-Methode. Probier doch einfach aus was passiert wenn die als FullFileName deine Exceltabelle angibst.

Eine größere Resonanz wirst du mit dem Doppel- und Dreifachposten nur von den Moderatoren bekommen. Aber nicht in der Art wie du es dir erhoffst. 
Ich behaupte mal, das alle die sich mit der Programmierung beschäftigen in beiden Foren lesen. Da sind doppelte Diskussionen eher für viele ein Grund sich ganz rauszuhalten. Wer erzählt schon gern alles doppelt?

------------------
MfG
Ralf

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

Rodario7
Mitglied
Maschinenbautechniker


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

Beiträge: 85
Registriert: 08.02.2013

Windows 7 64bit
Inventor 2013
Visual Basic 2010 Express

erstellt am: 16. Feb. 2013 19:36    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 Ralf,
Also bei eingebetteten Objekten ist es wohl richtig dass die Obj. nicht mitgezogen werden.
Ich hab nu ein verlinktes Objekt drin und es geht.

Zur Custom Tabelle muß ich sagen dass ich leider nicht weiß wie ich Codemäßig an sie rankomme.

Noch einen Satz zu dem Doppelpost:

Mir war schon ein wenig bewußt dass einige beide Foren lesen, nicht aber dass alle das tun.
Nun da ich darauf hingewiesen wurde werde ich nat. nur noch in einem Forum posten.


------------------
Gruß
Klaus

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 16. Feb. 2013 20:59    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 Rodario7 10 Unities + Antwort hilfreich

Hallo

Hier mal ein Beispiel wie's gehen müßte:

Code:
Public Sub AddCustomTable()

Dim oDrawDoc As DrawingDocument
Set oDrawDoc = ThisApplication.ActiveDocument

Dim oPoint As Point2d
Set oPoint = ThisApplication.TransientGeometry.CreatePoint2d(15, 15)

Dim oCTableColumnTitles(1 To 10) As String
Set oCTableColumnTitles(1) = "A"
Set oCTableColumnTitles(1) = "B"
Set oCTableColumnTitles(1) = "C"
Set oCTableColumnTitles(1) = "D"
Set oCTableColumnTitles(1) = "E"
Set oCTableColumnTitles(1) = "F"
Set oCTableColumnTitles(1) = "G"
Set oCTableColumnTitles(1) = "H"
Set oCTableColumnTitles(1) = "I"
Set oCTableColumnTitles(1) = "J"


Dim oCTable As CustomTable
Set oCTable = oDrawDoc.ActiveSheet.CustomTables.Add("TabellenTitel", oPoint, 10, 10, oCTableColumnTitles)

Dim sLinkedFile As String
sLinkedFile = "C:\Pfad\zur\Excel\Tabelle.xls"

Call oCTable.AddLink(sLinkedFile)

End Sub


Seltsam finde ich's trotzdem das die eingebetteten Objekte von eurem Dateiverwaltungsprogramm entfernt werden. Da würde ich beim Hersteller mal nachhaken.

Danke für dein Verständnis. 

------------------
MfG
Ralf

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

Rodario7
Mitglied
Maschinenbautechniker


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

Beiträge: 85
Registriert: 08.02.2013

Windows 7 64bit
Inventor 2013
Visual Basic 2010 Express

erstellt am: 17. Feb. 2013 10:34    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

Super, vielen Dank.
mußte den Code nur auf VB.net umschreiben dann gings.
Hier mal der Code dazu, wenn ihn jemand benötigt.

Public Sub AddCustomTable()
        Dim oInventorApp As Inventor.Application
        oInventorApp = CType(GetObject(, "Inventor.Application"), Application)
        Dim oDrawDoc As DrawingDocument
        oDrawDoc = CType(oInventorApp.ActiveDocument, DrawingDocument)

        Dim oPoint As Point2d
        oPoint = CType(GetObject(, "Inventor.Application"), Application).TransientGeometry.CreatePoint2d(15, 15)

        Dim oCTableColumnTitles(0 To 9) As String

        oCTableColumnTitles(0) = "A"
        oCTableColumnTitles(1) = "B"
        oCTableColumnTitles(2) = "C"
        oCTableColumnTitles(3) = "D"
        oCTableColumnTitles(4) = "E"
        oCTableColumnTitles(5) = "F"
        oCTableColumnTitles(6) = "G"
        oCTableColumnTitles(7) = "H"
        oCTableColumnTitles(8) = "I"
        oCTableColumnTitles(9) = "J"


        Dim oCTable As CustomTable
        Dim bfound As Boolean '= False
        Dim oref As ReferencedOLEFileDescriptor
        For Each oref In oDrawDoc.ReferencedOLEFileDescriptors
            If oref.DisplayName = txtDrawingNumber.Text & DatZusatz & ".xlsx" Then
                bfound = True
                Exit For
            End If
        Next
        If bfound = True Then
            Return
        Else
            oCTable = oDrawDoc.ActiveSheet.CustomTables.Add("ToDoList", oPoint, 10, 10, oCTableColumnTitles)

            Dim sLinkedFile As String
            sLinkedFile = HPfad & txtDrawingNumber.Text & DatZusatz & ".xlsx"
           

                Call oCTable.AddLink(sLinkedFile)
            End If
    End Sub


Das mit dem eingebetteten Objekt hat glaub ich mit dem Dateiverwaltungssystem nix zu tun.
Bei meiner 1. Variante hatte ich anscheinend falsch "eingebettet".
Kanns auch nicht richtig erklären warum, aber gemerkt hab ich s daran dass Inv. nicht angemeckert hat das die Excel Datei nicht im Projektpfad liegt.
Mit der neuen Verknüpfung als linked objekt fragt Inv. genau dieses an.

------------------
Gruß
Klaus

[Diese Nachricht wurde von Rodario7 am 17. Feb. 2013 editiert.]

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2166
Registriert: 15.11.2006

Windows 10 x64, AIP 2022

erstellt am: 17. Feb. 2013 11:39    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 Rodario7 10 Unities + Antwort hilfreich

Moin

Du hast da ein Verständnisproblem. Eingebettete Objekt liegen in der Datei. Sie sind Bestandteil der Datei. Das Ursprungsdokument hat nach dem Einbetten nichts mehr damit zu tun. Es dient sozusagen nur als Kopiervorlage. Es gibt nur die IDW zum Einchecken. Das die ursprüngliche Exceldatei nicht mitgenommen wird ist richtig.
Das Verknüpfen mit anderen Dateien ist eine Zeitbombe. Spätestens wenn du zwei IDW's mit verknüpfter Exceldatei auscheckst und beide verknüpften Dateien habe den gleichen Namen bekommst du ein Problem. Verknüpfungen speichern den kompletten (UNC-)Pfad. Das heißt dein Ablagepfad und die Ordnerstruktur für ausgecheckte Dateien sollte sich nie ändern.
Oder hab ich das Verständnisproblem?

------------------
MfG
Ralf

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

Rodario7
Mitglied
Maschinenbautechniker


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

Beiträge: 85
Registriert: 08.02.2013

Windows 7 64bit
Inventor 2013
Visual Basic 2010 Express

erstellt am: 17. Feb. 2013 11:53    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

Hi,
das siehst du richtig.
Ich hatte Anfangs eingebettet und nicht verlinkt.
Da lag das Problem.

Aber das Problem mit den gleichen Dateinamen wird bei mir nie auftreten, da die verlinkte Excel Datei immer die Zeichnungsnummer der aktuellen Zeichnung als Teil des Dateinamens mitbekommt.

------------------
Gruß
Klaus

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