当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。

テクてく Lotus 技術者 Slack に参加しよう!

2009年7月16日木曜日

ファイルの情報を取得する

ネタ切れです。
最近、ノーツの仕事が減っているのもあって、なかなかネタが増えません。
ネタを増やすためにも、仕事の依頼をお待ちしておりますm(_ _)m

さて、今日はそんな中、あまりノーツには縁がなさそうなサンプルの紹介です。
ファイルの情報を取得するというものです。
ファイルのサイズや属性(読み取りとか、隠しとか)程度であれば、Win32APIを使わなくてもLotusScriptの関数だけで取得可能というものです。

サンプルは、ダイアログで選択したファイルの「名前」「サイズ」「更新日」「属性」を取得して表示するものです。
ノーツDBに添付してあるファイルが正常にダウンロードできたかどうか?などの判定に使えるのではないでしょうか?

試してみてください。

下図は実行結果です。


%include "lsconst.lss"

Sub Click(Source As Button)
 Dim uiws As New NotesUIWorkspace
 Dim FullPath As Variant 'ファイルフルパス
 Dim FileName As String 'ファイル名
 Dim FileLength As Long 'ファイルの長さ
 Dim FileDate As Variant 'ファイルの更新日
 Dim FileAttribute As Integer 'ファイルの属性(GetFileAttrの戻り値)
 Dim FileZokusei As String 'ファイルの属性
 
 'ファイル名の設定
 FullPath = uiws.OpenFileDialog( False, "ファイルの選択", "*|*", "", "" )
 If Isempty( FullPath ) Then Exit Sub
 FileName = Strrightback( FullPath(0), "\" )
 
 'ファイル情報の取得
 FileLength = Filelen( FullPath(0) )
 FileDate = Filedatetime( FullPath(0) )
 
 'ファイル属性の取得
 FileAttribute = Getfileattr( FullPath(0) )
 If ( FileAttribute% And ATTR_READONLY ) Then FileZokusei = FileZokusei & " 読み込み専用 "
 If ( FileAttribute% And ATTR_HIDDEN ) Then FileZokusei = FileZokusei & " 隠し "
 If ( FileAttribute% And ATTR_SYSTEM ) Then FileZokusei = FileZokusei & " システム "
 If ( FileAttribute% And ATTR_ARCHIVE ) Then FileZokusei = FileZokusei & " アーカイブ "
 
 'ファイル情報の表示
 Messagebox _
 "名前: " & Chr$(9) & FileName & Chr$(10) & _
 "フルパス:" & Chr$(9) & FullPath(0) & Chr$(10) & _
 "サイズ: " & Chr$(9) & Format( FileLength, "#,###" ) & Chr$(10) & _
 "更新日:" & Chr$(9) & FileDate & Chr$(10) & _
 "属性:" & Chr$(9) & FileZokusei , _
 MB_OK + MB_ICONINFORMATION, "ファイル情報"
End Sub




【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

1 件のコメント:

匿名 さんのコメント...

ものすごく勉強になります。ありがとうございます。
@関数で、ダイアログボックス表示からファイル名を取得はできるのですが、フォルダ名の取得はどういう関数を使えばよいのでしょうか。ぜひ、教えてください。よろしくお願いします。