VBで、ファイルの作成者名・更新者名・作成日時・更新日時を取得する方法を探しています。

作成日時・更新日時の方はAPIを使用すれば可能だと分かったのですが、
作成者名・更新者名の取得方法が見つかりません。

取得が可能かどうかも含めて、教えていただけませんでしょうか?
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

回答ではなくide1さんの反論っぽくなっちゃいますが、


「Windows には作成者の情報はありません。」といっても
それはファイルシステムに寄ると思います。
Fat16やFat32なら多分作成者情報は持たないと思いますが、
Win2000のNTFSならテキストファイルでも
作成者情報みたいなものはありました。
取得方法は不明ですが・・・。

もうすこし環境や条件など詳しく書くと回答しやすいと思いますよ。
ちなみにExcelであれば判りますが・・・。
    • good
    • 0

UNIXと異なり、Windows には作成者の情報はありません。


ただし、WordやExcelなどアプリケーションが独自に
作成者情報をもっている場合があります。
アプリケーションごとに取得方法が異なります。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qwindowsサーバーのレンタルサーバーを検討しています。

お世話になります。
この度、友人よりサーバーの移管をお願されたのですが、話を聞くとwindows現在の環境がサーバーだったので困っています。
aspを使用しているため、どこかでwindowsレンタルサーバーを借りて移すしかないのですが、aspとは、サーバーにアップするだけで動くものなのでしょうか?

windowsサーバーについて知識ゼロな私ですが、使えるものなのでしょうか?知識レベルとしてはhtml・cssが分かるくらいで、あとはflashを少しくらいのものなのですが。。。

また、普段私はさくらインターネットを利用しています。

windowsサーバーに関してお詳しい方がいらっしゃいましたらどうぞ宜しくお願いたします。

Aベストアンサー

> aspとは、サーバーにアップするだけで動くものなのでしょうか?
 そのaspファイルによるとしか言えないですね・・・・。一般的にaspファイルの中にはHTMLとスクリプトが入っていて、スクリプトはそのほとんどがVBScriptあるいはJavaScriptと似たJScriptのどちらかで、その2つの割合もほとんどがVBScriptでしょう。
 で、ASP(というかVBScript)は、Windowsに登録されているActive Xコンポーネントを使用する事ができるのですが、当然Windowsに登録されていないと使用できません。Active Xコンポーネントを全く使用していないのであれば置くだけで動くと期待して良いでしょう。

 使っていたら・・・・専用サーバー(めちゃくちゃ高い)でもない限り、自分が使うためのActive Xを登録してくれる事はまずないと思いますので、レンタルサーバー会社に問い合わせてみてください。

QAPIで作成したコモンコントロールのイベント取得方法

こんにちは。

http://www.mitene.or.jp/~sugisita/vb6_cmctl.html
にある、ツリービューコントロールの
カテゴリーのサンプルを参考にして
APIで、コントロールを使えるように苦戦しております。

表示はできるのですが、表示させたコントロールのイベント(click等)を取得する方法が分かりません。

ご存知の方がいらっしゃいましたら、よろしくお願いします。

Aベストアンサー

コントロールを作成したフォームをサブクラス化して、コントロールから送られてくるメッセージを処理してください。
Cのプログラムのように。

Qwindowsでフリーのファイルサーバーというのはないのでしょうか?

windowsでフリーのファイルサーバーというのはないのでしょうか?windowsサーバーを購入しないといけないのでしょうか?

Aベストアンサー

こんにちは、疑問はつきませんね。

さてご質問の件ですが、1番の方がおっしゃっていますが、共有を掛ければ特にファイルサーバなどをインストールしなくても、ファイルサーバになってしまいます。

ただ、問題なのが同時に20人しかアクセス出来ないと言うところです。職場などで使おうとしますと、この制限が足かせになると思います。その点Linxなどで構築したサンバですと、アクセス制限が無いですから、何人でもアクセス出来ます。

QExcelVBAで、特定のファイルの更新日時などを取得したい

 ExcelVBAを使って、指定したファイル(D:\TEST.xlsなど)の更新日時を取得したいのですが、どのようにしたら良いのでしょうか。
 よろしくお願いします。

Aベストアンサー

フォルダー内の最終更新日を出す。
Private Sub test03()
Dim fn As String
Dim hn As String
p01:
fn = InputBox("フォルダ名=", "フォルダ指定", "c:\My Documents\")
If fn = "end" Then Exit Sub
' fn = "c:\My Documents\"
i = 2
sdirname = Dir(fn)
Do While sdirname <> ""
'If Right(sdirname, 4) = ".csv" Then
Cells(i, 1) = sdirname
hn = fn & sdirname
Cells(i, 2) = hn
Cells(i, 3) = FileDateTime(hn)
i = i + 1
'End If
'------
sdirname = Dir
Loop
GoTo p01
End Sub
エクセルシートに出します。
フォルダ名を指定する。終りは「end」を応答。
拡張子を限定するなら、上記コード内のIf End Ifのアポストフィを削除してください。

フォルダー内の最終更新日を出す。
Private Sub test03()
Dim fn As String
Dim hn As String
p01:
fn = InputBox("フォルダ名=", "フォルダ指定", "c:\My Documents\")
If fn = "end" Then Exit Sub
' fn = "c:\My Documents\"
i = 2
sdirname = Dir(fn)
Do While sdirname <> ""
'If Right(sdirname, 4) = ".csv" Then
Cells(i, 1) = sdirname
hn = fn & sdirname
Cells(i, 2) = hn
...続きを読む

Qwindowsサーバーを廃止してsambaに置き換えるには

小さな会社のネットワーク管理を行っております。
今年中に、Windowsサーバーのリースが切れるので、コスト削減できないかと幹部から尋ねられました。それで少し調べまして、windowsサーバーを廃止して、その代わりにデスクトップを購入し、LinuxでSambaというものを利用すれば、windowsサーバーのように運用できるということがわかりました。

当社の現在の環境は、今年で期限が切れるwindows serverで運用されているADサーバーおよび同じくwindows serverで動作するアプリケーションサーバー(給与や会計ソフト)、そしてLANにNASのファイルサーバーがあり、クライアントパソコンはすべてWindowsで30台ほどつながっています。同LAN内にほかにもう一台別のアプリケーションのサーバーがあります。
一部ADドメインで運用していますが、ワークグループでも問題なく動作するので、ADサーバーはなくしてもいいと思います。サーバーライセンス不要でドメイン運用できるのであれば、その方がいいとは思います。

ちなみに私はwindows系は大体わかりますが、Linuxはずいぶん前に自宅のPCにお試しでインストールしたことがある程度で、ほとんど経験がございません。

・コストはどの程度かかるのか?
・導入や運用の難易度はどの程度でしょうか?
・セキュリティや安定性などはどうでしょうか?
・ユーザーへの影響は?(使い勝手の違いなど)
・その他問題点は?

まだ全然具体的ではなく、そもそも検討すべきなのかはじめから除外した方がいいようなものなのかすらわからないような段階です。いろんな面からアドバイスやご提案をいただければと思い質問させていただきました。どうぞよろしくお願いいたします。

小さな会社のネットワーク管理を行っております。
今年中に、Windowsサーバーのリースが切れるので、コスト削減できないかと幹部から尋ねられました。それで少し調べまして、windowsサーバーを廃止して、その代わりにデスクトップを購入し、LinuxでSambaというものを利用すれば、windowsサーバーのように運用できるということがわかりました。

当社の現在の環境は、今年で期限が切れるwindows serverで運用されているADサーバーおよび同じくwindows serverで動作するアプリケーションサーバー(給与や会計ソフ...続きを読む

Aベストアンサー

絶対にやめておいた方が良い。
「コスト削減できないか」 そりゃ幹部は言います。 お金の話だもの。
Linux にするということは 「会社から出ていく現金の額」 は減りますが、それ以外の目に見えづらい (幹部が察知しづらい) コストが掛かることになります。
会社の業務運営を下支えするインフラ業務担当として、最低限譲れないラインは主張すべきです。
そのラインよりも上の場で現金の話をしたらいいのでは?

PC が 30台もあるのだから Workgroup 環境もかなり死ねますよ。
パスワードの更新が面倒になる。
Windows 前提で稼働しているアプリケーションも失うことになる。
安定稼働をさせるための知識がない。
よくわからないモノだから発展的な発想も持てない。


ちなみに弊社では 5年前に入れたサーバー群がリース期限を迎えようとしており、リプレースの準備をしているところです。
5年前、「我々の要望を実現する麗しき理想の構成」は 4千万もしたため却下。もっと現実的な構成での導入となりました。
現在、複数のベンダーさんから提案された構成はまさに 5年前の麗しき構成にそっくりなのに、コストは半分。
自分の知らないところで物事は進んでいるのだと。

同構成で同程度のキャパや能力なら全体的にコストが下がっていませんか?
または前回と同程度のコストで今よりもよくなっていませんか?
クラウドや仮想マシンを利用することで「部品の保守費」も不要になりますよ。

絶対にやめておいた方が良い。
「コスト削減できないか」 そりゃ幹部は言います。 お金の話だもの。
Linux にするということは 「会社から出ていく現金の額」 は減りますが、それ以外の目に見えづらい (幹部が察知しづらい) コストが掛かることになります。
会社の業務運営を下支えするインフラ業務担当として、最低限譲れないラインは主張すべきです。
そのラインよりも上の場で現金の話をしたらいいのでは?

PC が 30台もあるのだから Workgroup 環境もかなり死ねますよ。
パスワードの更新が面倒になる。
Wind...続きを読む

QVBでFTPサーバ側のファイルの更新日時を取得したい

質問があります。
どなたか御教授ください。よろしくお願いします。


【質問】
FTPにて、サーバー側(OS:Solaris LANG:japan TZ:JST )にあるファイルの
更新時間を取得したい。
クライアント(OS:Win2k VB5)

【現状】
Windows標準のwininet.DLLを使用して手製のFTPツールを作成したのですが
サーバー側の情報を取得した所文字化けします。
これはEUC→SJIS変換にて対応しようとしたのですが、VBはエンコーディングが
弱いためこれも手製のエンコーダーを作成したところバグりまくっています。
また、wininet.DLLが日本語に弱い?ためサーバー側をAmerica仕様にしても
日本仕様でわざわざ取得してきます。

Aベストアンサー

以下のHPを参考にするとうまくいきそうな気がします。
取得したファイルのFILETIME構造体をCurrencyに
コピーする作業がいりますけど。
参考にしてください。

http://vbvbvb.com/jp/gtips/0101/gFtpFindFirstFile.html
http://plaza5.mbn.or.jp/~heropa/vb16.htm

QWindows2000サーバー

前にwindowsNTサーバーでwebサーバーの作り方を聞いたのですが、NTはセキュリティが悪いとのアドバイスを受けたので、Windows2000サーバーでwebサーバーを作りたいと思います。サーバーの作り方を教えていただけないでしょうか?私まったくの初心者です。できればやさしくお願いいたします

Aベストアンサー

 初心者がWebサーバを構築するに当たって考えなければいけないことは、CUI(コマンド)操作ではなく、できるだけGUIを使って構築することを目指さなければなりません。Windows2000ServerもServer 2003 R2もお値段としてはかなりお高く、仕事で使うのであれば参考書籍を購入して頑張って勉強するしかないでしょう。
 個人が趣味の範囲でWebサーバを立ち上げるのならば、XPhomeSP2でも2000proでも可能です。
 一番簡単なのは、MacOSX10.4TIGERが入った最新のMacを買うことです。標準でApacheWebサーバが備わっていますので、システム環境設定→共有→パーソナルWeb共有にチェックを入れ、/ライブラリ/WebServer/Documentsフォルダの中にg555.htmファイルを入れるだけ・・・後は「http://グローバルIPアドレス/g555.htm」で外部からアクセスすることが可能です。
 これ以上簡単にWebサーバの構築方法は教えられません。

QAPI32 コントロールのEditテキストの文字列の取得・出力について

外部アプリケーションの子ウィンドウ(Edit)のテキストが取得できません。
ご指導お願いいたします。

■やりたいこと
外部アプリケーションのEditの文字列を取得(変数に代入まで)
取得したい文字列数は、半角8桁程度です。

開発環境 BVA

●取得済みの情報
外部アプリケーションの親ウィンドウのハンドルを取得済み。
特定の子ウィンドウのコントロールIDを取得済み。

lpStringの使い方が全く分かっていません。
nMaxCountも分かりません。

hDlgには親ウィンドウのハンドルが入っています。

<関数の宣言>
Declare Function GetDlgItemText Lib "user32" Alias "GetDlgItemTextA" _
(ByVal hDlg As Long, ByVal nIDDlgItem As Long, ByVal lpString As String, ByVal nMaxCount As Long) As Long

Sub GetTextTest()

nIDDlgItem = "000514F6" 'EditのコントロールID
lpString = Space(10) '分かっていないのですが調べてみてなんとなく

GetText1 = GetDlgItemText(hDlg, nIDDlgItem, lpString, 256)

End Sub

これで、GetText1にEditのテキストが取得できると思っているのですが、
根本的に間違っている気もします。

実行以前に、型が一致しませんと出てしまいます。
型を修正しても、GetText1にはエラーの0が出力されるのではと思っております。


また、別件なのですが、
親ウィンドウの中に子ウィンドウ1があって、
子ウィンドウ1の中に子ウィンドウ2(Edit)があった場合
親ウィンドウのハンドルと、子ウィンドウ2のコントロールIDが
分かっていれば、Editの文字列は取得できるのでしょうか?

外部アプリケーションの子ウィンドウ(Edit)のテキストが取得できません。
ご指導お願いいたします。

■やりたいこと
外部アプリケーションのEditの文字列を取得(変数に代入まで)
取得したい文字列数は、半角8桁程度です。

開発環境 BVA

●取得済みの情報
外部アプリケーションの親ウィンドウのハンドルを取得済み。
特定の子ウィンドウのコントロールIDを取得済み。

lpStringの使い方が全く分かっていません。
nMaxCountも分かりません。

hDlgには親ウィンドウのハンドルが入っています。

...続きを読む

Aベストアンサー

まずはGoogleでGetDlgItemTextを検索しましょう。
http://www.activebasic.com/help_center/Pages/API/Window/DialogBox/GetDlgItemText.htm

えー違ってる箇所を指摘します。
nIDDlgItemの型はLongなのに、なんで
nIDDlgItem = "000514F6" 'EditのコントロールID
と文字列を入れているのですか?
16進数で入れるには、VBであれば&H000514F6です。
あとGetDlgItemText関数が返す値は取得した文字数です。
なので当然、GetText1に入れるのは間違ってます。lpStringに取得した文字列が入るのですよ。

とりあえずサンプル
Dim bufStr As String
Dim retStr As String
Dim nIDDlgItem As Long
' コントロールID
nIDDlgItem = &H000514F6
' バッファの用意
bufStr = String(255, vbNullChar)
' エディットボックスの文字列を取得する
If GetDlgItemText(hWnd, nIDDlgItem, bufStr, Len(bufStr)) > 0 Then
 retStr = Left$(bufStr, InStr(bufStr, vbNullChar) - 1)
End If
' retStrが目的の文字列。

まずはGoogleでGetDlgItemTextを検索しましょう。
http://www.activebasic.com/help_center/Pages/API/Window/DialogBox/GetDlgItemText.htm

えー違ってる箇所を指摘します。
nIDDlgItemの型はLongなのに、なんで
nIDDlgItem = "000514F6" 'EditのコントロールID
と文字列を入れているのですか?
16進数で入れるには、VBであれば&H000514F6です。
あとGetDlgItemText関数が返す値は取得した文字数です。
なので当然、GetText1に入れるのは間違ってます。lpStringに取得した文字列が入るのですよ。

と...続きを読む

QWindowsサーバー構築などの仕事内容について教えてください。

Windowsサーバーにはあまりなじみがないのですが、
Windowsサーバー構築の仕事というのはどういうことをしているのでしょうか?
Activeディレクトリにユーザーやコンピュータを追加したり?ぐらいしかうかばないのですが参考までに教えてください。

Aベストアンサー

ネットワーク系全盛のご時勢なので、WindowsServerの構築の
仕事は沢山あると思います。
システム構築は、システム導入前にクライアントを訪問し、
お客様のネットワーク用件を確認し、それに見合った
サーバー選定、アプリケーション選定、ネットワーク構築
導入支援、保守のPRなどをする仕事になります。

これはよく言われるのですが、ネットワーク構築の技術者の
給与は高いのでしょうか?と聞かれることがあります。
一昔前の、WindowsNT全盛の頃はそんな時期もありましたが、
現在ネットワーク構築の技術者は余っている状態なので賃金はあまりよくありません。
平均月収も、普通のサラリーマンと相違ないのではないでしょう
Server系の仕事をするためには、MicrosoftならMCPという資格があります。
ネットワーク系の知識を身につけるには、MCPの勉強が早道です。
基礎知識を蓄え、資格に合格し(とは言っても、資格に合格してもServer構築は難しいので)
会社に入ってからじっくり実機操作を学んでいけば大丈夫ではないでしょうか
お薦めのテキストは、よくわかるマスター
WindowsServer2003完全マスター
という本がFOM出版から発売されています。

ネットワーク系全盛のご時勢なので、WindowsServerの構築の
仕事は沢山あると思います。
システム構築は、システム導入前にクライアントを訪問し、
お客様のネットワーク用件を確認し、それに見合った
サーバー選定、アプリケーション選定、ネットワーク構築
導入支援、保守のPRなどをする仕事になります。

これはよく言われるのですが、ネットワーク構築の技術者の
給与は高いのでしょうか?と聞かれることがあります。
一昔前の、WindowsNT全盛の頃はそんな時期もありましたが、
現在ネットワーク構...続きを読む

Q新規ブック作成その後のファイル名取得について

はじめまして。ken-zieです

エクセル2003でVBにチャレンジし始めたんですが

ブックの新規作成
   ↓
文字入力
   ↓
文字や、パターン等の書式設定

までは何とかできたのですが、
その後セルC7から下にネットワークドライブにある
フォルダの中身のjpgファイルを拡張子込みの形式で
取得して表示したいと考えています。
が!ここで詰まってしまいました。
だれかご教授願いたいと思います。

できたらダイアログを使用してフォルダの中のjpgを
一括で取得できたらいいなぁ~と思っています。
よろしくお願いします。

Aベストアンサー

> あとはパス名表示を「ファイル名.拡張子」だけで
> 表示したいのです。

パスは Left、Mid、Right 関数辺りで分割できます。パスセパレータ
の¥記号の位置で切り取ってやります。¥記号の位置を調べるには
EXCEL2000 以降に限定されますが、InStrRev 関数を使うと簡単です。

#1 の次の部分を修正して下さい。

---------------------------------------------------------------
Sheets("Sheet1").Cells(lngR, "C").Value = .FoundFiles(i)

   ↓↓↓

Sheets("Sheet1").Cells(lngR, "C").Value = _
   Mid$(.FoundFiles(i), InStrRev(.FoundFiles(i), "\") + 1)
---------------------------------------------------------------


> ネットワークドライブなんですが...(これって問題ありますか?)

使ってみて不具合がなければ大丈夫だと思います。

ただ、ネットワークドライブに割り当てられるドライブレターは PC
により異なる場合がありますよね?

会社などで複数の PC で使うものをコーディングする場合、この相違が
トラブルの原因になる場合があります。ある PC では大丈夫なのに、あ
る PC では「ファイルやフォルダが見つかりません」といったエラーに
なるかも知れないということです。

特別な理由がないなら UNC を使った方がいいと思います。


【参考:UNC 】IT用語辞典 e-Words
http://e-words.jp/w/UNC.html
【参考:ドライブレター】IT用語辞典 e-Words
http://e-words.jp/w/E38389E383A9E382A4E38396E383ACE382BFE383BC.html
【参考:ネットワークドライブ】IT用語辞典 e-Words
http://e-words.jp/w/E3838DE38383E38388E383AFE383BCE382AFE38389E383A9E382A4E38396.html


> c:\の記述を\:\

ネットワークドライブなら Z:\ などのように割り当てたドライブを
指定します。UNC で指定するなら例えば、ネットワーク名が Server1
の PC なら

\\Server1\

のように指定します。Server1 上の共有フォルダを指定するなら

\\Server1\(共有フォルダ名)

です。

------------------------------------------------------------
以下は余談というか今後の参考話です。

BrowseForFolder(0, "フォルダを選択してください", 0, "ルートフォルダパス")

でルートフォルダに空または無効なパスを指定するとデスクトップが
ルートフォルダに設定されます。

フォルダ選択ダイアログの表示方法ですが、#1の方法の良いところは
コードが簡単なことですね。ただ、前回選択したフォルダを覚えてく
れないとか、、階層が深いフォルダだと面倒です。これを解決するに
は、「フォルダ選択ダイアログ」で WEB 検索するとサンプルが多く
ありますので、調べてみて下さい。

このサイトでは、下記スレッドが参考になると思います。

http://oshiete1.goo.ne.jp/kotaeru.php3?q=1449156


あと、今回は簡単にやってしまいましたが、FileSearch オブジェクト
はファイル検索に大変便利なのですが、多少不安定な面があるんです。

「FileSearch 不安定」などで WEB 検索してみて下さい。

絶対確実に、、というのであれば Dir 関数 でファイル検索した方が
いいかも知れません。

では。

> あとはパス名表示を「ファイル名.拡張子」だけで
> 表示したいのです。

パスは Left、Mid、Right 関数辺りで分割できます。パスセパレータ
の¥記号の位置で切り取ってやります。¥記号の位置を調べるには
EXCEL2000 以降に限定されますが、InStrRev 関数を使うと簡単です。

#1 の次の部分を修正して下さい。

---------------------------------------------------------------
Sheets("Sheet1").Cells(lngR, "C").Value = .FoundFiles(i)

   ↓↓↓

Sheets("Sheet1").Cells(lngR, "C").Valu...続きを読む


人気Q&Aランキング

おすすめ情報