Issue:
You want to find the file name or path of a selected component in your iLogic rule.
Solution:
Here is a quick iLogic snippet that will demonstrate how to work with the selected component file and path. In this example the file name, file name without extension, file path, and the full path and file name are written to a message box.
'------------ start of
ilogic--------------------
'get currently selected
component
Dim oOccurrence as ComponentOccurrence
Try
oOccurrence = ThisDoc.Document.SelectSet.Item(1)
Catch
MessageBox.Show("Please select a
component before running this rule.", "iLogic")
Return
End Try
Dim doc As Document
Dim CurFileName As String
'set the selected item
oOccurrence = ThisApplication.ActiveDocument.SelectSet.Item(1)
'get the selected item
document occurrence name
doc = oOccurrence.Definition.Document
'get the path and file name of
the selected item
CurFileName = doc.FullFileName
'defines backslash as the
subdirectory separator
Dim strCharSep As String = System.IO.Path.DirectorySeparatorChar
'find the postion of the last
backslash in the path
FNamePos = InStrRev(CurFileName, "\", -1)
'get the file name with the
file extension
Name = Right(CurFileName, Len(CurFileName) - FNamePos)
'get the file name (without
extension)
ShortName = Left(Name, Len(Name) - 4)
'get the path of the folder
containing the file
Folder_Location = Left(CurFileName, Len(CurFileName) - Len(Name))
MessageBox.Show("File Name: " & Name _
& vblf & "File Name without
extension: " & ShortName _
& vblf & "File Path: " & Folder_Location _
& vblf & "Path and File Name:
" & CurFileName, "iLogic")
'------------ end of
ilogic--------------------