Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

How to read and write to a file property?

Status
Not open for further replies.

Colvic

Programmer
Nov 4, 2005
24
0
0
NO
Hi,
Can anyone tell me how I can read and write to Property.Title .Comments .Author in a Crystal Reports.rpt file with VBA?

Thanks in advance.
 
Thanks Golom, but I am going to use MS Access.
 
You may be issuing the command from Access but you will need to understand the Crystal Reports Object Model before you know where and how the Access VBA needs to be used.

That's why I recommended forum767.
 
Sorry Golom, may be I am not clear.

If I use File Explorer and view properties on any file, I can go to the tag Summary and read/change the Title, Comments, Author from there.
That is what I want to do from Access.

But have do I handle File Explorer from Access?
 
Hi, I found a source that read the information I nead from the file, but now I nead a information (Source)
that can write the modified information back to the file.

Can you help me?

Type FileAttributes
Name As String
Size As String
FileType As String
DateModified As Date
DateCreated As Date
DateAccessed As Date
Attributes As String
Status As String
Owner As String
Author As String
Title As String
Subject As String
Category As String
Comments As String
Keywords As String
End Type

Public Function GetFileAttributes(strFilePath As String) As FileAttributes
' Shell32 objects
Dim objShell As Shell32.Shell
Dim objFolder As Shell32.Folder
Dim objFolderItem As Shell32.FolderItem

' Other objects
Dim strPath As String
Dim strFileName As String
Dim i As Integer

' If the file does not exist then quit out
If Dir(strFilePath) = "" Then Exit Function

' Parse the file name out from the folder path
strFileName = strFilePath
i = 1
Do Until i = 0
i = InStr(1, strFileName, "\", vbBinaryCompare)
strFileName = Mid(strFileName, i + 1)
Loop
strPath = Left(strFilePath, Len(strFilePath) - Len(strFileName) - 1)

' Set up the shell32 Shell object
Set objShell = New Shell

' Set the shell32 folder object
Set objFolder = objShell.NameSpace(strPath)

' If we can find the folder then ...
If (Not objFolder Is Nothing) Then

' Set the shell32 file object
Set objFolderItem = objFolder.ParseName(strFileName)

' If we can find the file then get the file attributes
If (Not objFolderItem Is Nothing) Then
GetFileAttributes.Name = objFolder.GetDetailsOf(objFolderItem, 0)
GetFileAttributes.Size = objFolder.GetDetailsOf(objFolderItem, 1)
GetFileAttributes.FileType = objFolder.GetDetailsOf(objFolderItem, 2)
GetFileAttributes.DateModified = CDate(objFolder.GetDetailsOf(objFolderItem, 3))
GetFileAttributes.DateCreated = CDate(objFolder.GetDetailsOf(objFolderItem, 4))
GetFileAttributes.DateAccessed = CDate(objFolder.GetDetailsOf(objFolderItem, 5))
GetFileAttributes.Attributes = objFolder.GetDetailsOf(objFolderItem, 6)
GetFileAttributes.Status = objFolder.GetDetailsOf(objFolderItem, 7)
GetFileAttributes.Owner = objFolder.GetDetailsOf(objFolderItem, 8)
GetFileAttributes.Author = objFolder.GetDetailsOf(objFolderItem, 9)
GetFileAttributes.Title = objFolder.GetDetailsOf(objFolderItem, 10)
GetFileAttributes.Subject = objFolder.GetDetailsOf(objFolderItem, 11)
GetFileAttributes.Category = objFolder.GetDetailsOf(objFolderItem, 12)
GetFileAttributes.Comments = objFolder.GetDetailsOf(objFolderItem, 14)
GetFileAttributes.Keywords = objFolder.GetDetailsOf(objFolderItem, 40)
End If

Set objFolderItem = Nothing

End If

Set objFolder = Nothing
Set objShell = Nothing

End Function
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top