ApeGana
Utente Standard
- Professione: Progettista
- Software: Solid Edge ST8
- Regione: Marche
Ciao a tutti.
Dovendo inserire e valorizzare una nuova proprità personalizzata in un numero considerevole di file ed avendo in Excel la lista dei file su cui intervenire e i corrispondenti valori da dare alla nuova proprietà, mi sono scritto una breve macro in vba per automatizzare il processo.
Così funziona.
Però mi chiedevo se la stessa cosa potesse essere fatta anche non aprendo i file in Solid Edge. Sarebbe molto più veloce e si eviterebbero possibili impuntamenti credo.
Penso debba essere possibile (visto che le proprietà personalizzate sono visibili ed editabili anche dall'explorer di windows) perà non so come si fa.
Qualche idea?
Grazie.
Ape
Dovendo inserire e valorizzare una nuova proprità personalizzata in un numero considerevole di file ed avendo in Excel la lista dei file su cui intervenire e i corrispondenti valori da dare alla nuova proprietà, mi sono scritto una breve macro in vba per automatizzare il processo.
Codice:
Public Sub Scrivi_proprietà()
Dim objApp As SolidEdgeFramework.Application
Dim objDoc As SolidEdgeDocument
Dim docname As String
Dim valore As String
Dim wk As Workbook
Dim sh As Worksheet
Dim i As Integer
' identifica l'applicazione Solid Edge
Set objApp = GetObject(, "SolidEdge.Application")
' cicla per ciascuna riga del foglio excel corrente
For i = 2 To 5000 Step 1
' legge il nome file e la descrizione corrispondente
docname = Foglio1.Cells(i, 1).Value
valore = Foglio1.Cells(i, 2).Value
' apre il file in Solid Edge
Set objDoc = objApp.Documents.Open(docname)
' aggiunge la proprietà personalizzata e la valorizza
objDoc.Properties("Custom").Add "Nome_Nuova_Proprietà", valore
' chiude il file salvando
Call objApp.Documents.CloseDocument(objDoc.FullName, True, objDoc.FullName, False, True)
Next
End Sub
Così funziona.
Però mi chiedevo se la stessa cosa potesse essere fatta anche non aprendo i file in Solid Edge. Sarebbe molto più veloce e si eviterebbero possibili impuntamenti credo.
Penso debba essere possibile (visto che le proprietà personalizzate sono visibili ed editabili anche dall'explorer di windows) perà non so come si fa.
Qualche idea?
Grazie.
Ape