• ベストアンサー

コマンドプロンプトでファイルの作成者を知りたい

エクセルファイルを作成した人が誰なのか調べたいのですが、どのような方法がありますでしょうか? 慣れないながら、コマンドプロンプトで、エクセルファイルを最後に上書き保存をした人を調べることまではできましたが、エクセルファイルを新規に作成した人を調べる方法がわかりません。 初心者なので、やさしく教えていただければと思います。 何卒宜しくお願いいたします。 ちなみに Windows XP エクセル2003です。

質問者が選んだベストアンサー

  • ベストアンサー
noname#96644
noname#96644
回答No.5

ファイルの格納場所指定が問題です。 カレントに無い場合は、ファイル名を必ずフルパス指定で実行してください。 [準備] 1.テキストエディタ(メモ帳)で、提示したサンプルコードをコピペし、  *****.vbs(vbsの拡張子とする)  例..sample.vbs 以降の説明では、sample.vbsで記載。  補足..   sample.vbsを適当なフォルダに格納してください。   今回は、Cドラ直下にwk_sampleと言うフォルダを作成しそこに格納します。 2.プロパティ属性を確認したいEXCELファイルを準備する。  補足..格納場所は何処でもokです。 [実行] 1.DOS窓を開きます。  [全てのプログラム]-[アクセサリ]-[コマントプロンプト]  C:\Documents and Settings\ユーザ名>  ※hecunhehuiさんの質問がコマンドプロンプトでとあるので、DOS窓は問題無いですよね! 2.DOS窓にコマンドを記載します。  記載時にファイル名はフルパスで記載してください。  補足..入力が面倒な場合は、sample.vbs及び、該当EXCELファイルを     ドラック&ドロップで、DOS窓に移動すると、フルパスでファイル名が展開されます。  ~(省略)\ユーザ名>cscript c:\wk_sample\sample.vbs c:\~(省略)\xxx.xls [ENTER] [前提] EXCELがInstallされているPCでのみ実行可能です。 理由..   Set objExcel = CreateObject("Excel.Application") 行でEXCELを起動しているので [確認した事] ■下記環境で確認しました。  1.XP(Pro) sp3, Excel2007  2.XP(Pro) sp3, Excel2003 ■下記Excelファイルを確認しました。  拡張子が、xls(2003ブック), xlsx(2007ブック)

hecunhehui
質問者

お礼

できました! じつは言葉の意味がわからない箇所もあり、恐る恐るでしたが、 コマンドプロンプトに欲しかった情報が出てきた時には感動しました。 これもあなたさまのお力添えがあってこそです。 お時間を割いていただき、まことにありがとうございました。

その他の回答 (4)

noname#96644
noname#96644
回答No.4

| これはエクセルのVBAですよね。 | VBAも少しは齧ったのですが、マクロの自動記録を改造する程度の知識しかなく、 | 折角書いていただいたプログラムも使い方がわからないでいます。 Excel VBAでは無く、VBScript(WSH)です。 ですから、テキストエディタで、バッチファイルの様に、添付したコードを 記載すれば良いんですよ! 補足..作成するファイル名は、sample.vbs(拡張子はvbsにしてください) | まずこれは何を意味しているのかがわかりません。 | ' *-------------------------------------------------------* | ' * EXCELファイルのプロパティを取得 * | ' * * | ' * ID : sample.vbs * | ' * 使用方法 : X:\>cscript sample.vbs xxxxx.xls * | ' *-------------------------------------------------------*  ↑  コメントです。 | それから、apu999さんから頂いたプログラムを、 | 使うまでの手順について確認させて下さい。 作成したsample.vbsのファイルをコマンドラインから、起動すれば良いんです。 >cscript sample.vbs xxxx.xls [ENTER] 補足..xxxx.xlsは、確認したいExcelファイル [質問者様の前提を確認させてください。] Excelファイルのプロパティの概要タブで確認出来る情報を取得したいと判断したのですが 間違っていますでしょうか? [サンプルコードの補足] サンプルコードは、プロパティ情報は、全て表示していますので、 インデックスを判断して、必要な情報のみ取得する様に直してください。 所有者  :インデックス 3 最終更新者:インデックス 7

hecunhehui
質問者

お礼

丁寧なご回答本当ににありがとうございます。 まず私の前提についてですが、apu999さんがおっしゃられた通りです。 そして実は作成者と前回保存者を、プロパティで確認できることに、 今の今まで気づいていませんでした。 申し訳ありません。 先ほど自宅のPC(VISTA、エクセル2007)でエクセルファイルのプロパティを確認したら、 作成者と前回保存者が確認できて驚いた次第です。 ただ質問させていただいた時に提示した条件である、WINDOWS XP、エクセル2003は会社のPCなのですが、 こちらではプロパティに作成者と前回保存者が表示されてたかどうかは未確認なので明日以降確認することにします。 プロパティで確認できることがわかった以上、 もう特になにも問題は無いのですが、 ウィンドウズでできることの奥深さに興味が出てきたので、 もう少しお付き合いいただければ幸いに思います↓↓↓ apu999さんから頂いたプログラムですが、 折角詳しく使い方まで教えていただいているのですが、 まだよく理解できておらず、そもそもの知識不足を痛感しております。 勘を頼りに自分なりに使い方を考え使ってみましたがうまくいきませんでした。 もしよければ、下記の私の行った手順を指摘していただけませんでしょうか? 1、apu999さんのプログラムを、コメント欄から最終行までコピー 2、メモ帳を起動し貼り付け 3、保存時にファイル名をsample.vbsにする 4、sample.vbsを、Cドライブ>ユーザー>ユーザー名のフォルダに格納する。 ※この手順については自信がありません。 コマンドプロンプトが上記ディレクトリからsample.vbsを探そうとしているようなのでここに格納してみました。 5、コマンドライン(これは、WINDOWSキー+Rで立ち上がるファイル名を指定して実行のことですよね?)で、cscript sample.vbs xxxx.xlsと記入しエンターを押す。 ここまですると、コマンドプロンプトが立ち上がりましたが、 エクセルファイルが開けませんでした xxxx.xlsが見つかりませんと表示されたので、 xxxx.xlsファイルの保存場所が問題なのだと思い、 これも同じくCドライブ>ユーザー>ユーザー名に移動して再度試してみましたが、やはり同じメッセージが表示されました。 これは実はVISTA、エクセル2007で試していますので、それが問題なのかもしれません。

  • yakan9
  • ベストアンサー率54% (2201/4051)
回答No.3

> もしくは、dir/Qとdir/aということでしょうか? > もしくはdir/Q/aということでしょうか? dir /? で、説明を読まれましたか。 dir /Q でも、dir /qでも同じで、所有者を表示すると説明されています。 当然、cdコマンドで見たいファイルのディレクトリまで行く必要はあります。 コマンドプロンプトを開いたら、 c:\Documents and Settings\ユーザ名\_ というディレクトリです。 ひとつ上の c::\Documents and Settings のディレクトリに行くには、 cd .. です。 これも詳しくは、 cd /? で調べてください。

hecunhehui
質問者

お礼

お手間とらせて申し訳ないです。 dir/?は確認しましたが、Qでもqでも同じだという記述はあったかなという感じです。 しかしyakan9さんのおかげで小文字も大文字も同じだということが理解できて勉強になりました。 ありがとうございます。 今度はcdについて少しずつ勉強したいと思います。 ありがとうございました。

noname#96644
noname#96644
回答No.2

DOSコマンドで取得出来るか不明ですが、VBScriptを使用すれば取得出来そうです。 下記サンプルコードが意図した結果かは不明ですが、参考にしてください。 ' *-------------------------------------------------------* ' * EXCELファイルのプロパティを取得 * ' * * ' * ID : sample.vbs * ' * 使用方法 : X:\>cscript sample.vbs xxxxx.xls * ' *-------------------------------------------------------* Option Explicit On Error Resume Next Dim objExcel ' EXCEL オブジェクト Dim objBook ' Book オブジェクト Dim objPpty ' Property オブジェクト Dim strFileName ' EXCELファイル名 ' - コマンドラインパラメータの取得 - strFileName = WScript.Arguments(0) ' - Fileの存在確認 - If IsEmpty(strFileName) OR strFileName = "" Then Wscript.Echo "Excelファイルが存在しませんでした。" & Err.Description & "(" & Err.Number & ")" Wscript.Quit Else Wscript.Echo "Excelファイル=" & strFileName End If ' - EXCELファイルの読み込みとプロパティ属性取得 - Set objExcel = CreateObject("Excel.Application") ' EXCELの起動 If Err.Number = 0 Then objExcel.Application.DisplayAlerts = False ' 保存確認ダイアログを非表示 Set objBook = objExcel.Workbooks.Open(strFileName) ' EXCELファイルのオープン If Err.Number = 0 Then For Each objPpty In objBook.BuiltInDocumentProperties ' プロパティを全て表示 WScript.Echo objPpty.Name & ": " & objPpty.Value Next objBook.Close objExcel.Quit Else Wscript.Echo "Excelファイルを開けませんでした。" & Err.Description & "(" & Err.Number & ")" End If Else Wscript.Echo "Excelを起動できませんでした。" & Err.Description & "(" & Err.Number & ")" End If Set objBook = Nothing Set objExcel = Nothing

hecunhehui
質問者

お礼

ご回答ありがとうございます。 プログラムまで考えていただき、まことに感謝しています。 これはエクセルのVBAですよね。 VBAも少しは齧ったのですが、マクロの自動記録を改造する程度の知識しかなく、折角書いていただいたプログラムも使い方がわからないでいます。 まずこれは何を意味しているのかがわかりません。 ' *-------------------------------------------------------* ' * EXCELファイルのプロパティを取得 * ' * * ' * ID : sample.vbs * ' * 使用方法 : X:\>cscript sample.vbs xxxxx.xls * ' *-------------------------------------------------------* それから、apu999さんから頂いたプログラムを、 使うまでの手順について確認させて下さい。 ・まず新規作成者を知りたいエクセルファイルを開きます ・VBAの編集画面を開きます ・メニューから、挿入>標準モジュールの挿入をします ・apu999さんに記述していただいたプログラムの Option ExplicitからSet objExcel = Nothingまでをコピペします。 ・Option Explicitの次の行に、SUBプロシジャー名()と記入します。 ・実行します。 ここまであってますでしょうか? 先ほど思いつく限りここまでやったのですが、コンパイルエラーが出て実行できませんでした。

  • yakan9
  • ベストアンサー率54% (2201/4051)
回答No.1

dir /Q /a ではだめでしようか。 dir /? で、dirの説明が見れます。

hecunhehui
質問者

お礼

ご回答ありがとうございます。 dir/qを使って、ファイルの上書き者を確認することまではすでにできたのですが、新規作成者が知りたいのです。 yakan9さんのおっしゃられているのはdir/qでなくdir/Qでしょうか? もしくは、dir/Qとdir/aということでしょうか? もしくはdir/Q/aということでしょうか? 本当に初心者で理解できないでいます。

関連するQ&A

  • コマンドプロンプトのコマンドを使ってバッチファイルを作ってみたいのですが

    プログラミングについてはコマンドプロンプトでバッチファイル(ログファイルの作成など)を何度か作成したことのあるだけの初心者なのですが、 バッチファイルは簡単で幅広い実用性があるように感じています。  コマンドプロンプトを使ったバッチファイルでどのようなことができるのか実用例が載っている本を探しています。  これは役に立つ!という本がありましたら是非教えていただけませんか?

  • コマンドプロンプトでファイルを新規作成をしたいのですが。

    よろしくお願いいたします。 実は、windows2000のコマンドプロンプトで コマンドを勉強しているのですが、 コマンドでファイルを新規作成はできませんか? mkdir、mdでフォルダの新規作成はできるのですが。 helpにもファイルの新規作成らしきものが 見当たらないのでやはり不可能ですか? テキストファイル(.txt)でいいので くだらない質問かも知れませんが、 アドバイスよろしくお願いいたします。m(_ _)m PS:いまさらコマンドなんていわないでくださいね。(^^;

  • コマンドプロンプトでファイルの階層表示に作成日も

    いつもお世話になっています。 コマンドプロンプト初心者ですが、指定したルートの全てのファイルを階層?表示して、最後に作成日も表示したいと考えています。   dir/b/s 指定したファイル名   ↑ これで表示したものの右端に作成日も付け足したいのですが、     なにか方法はないでしょうか? よろしくおねがいします。

  • コマンドプロンプトを表示しないrbファイルの作り方

    windows上でRubyにて作成したプログラムを実行しています。 作成した****.rbファイルをダブルクリックすると、プログラム起動中、コマンドプロンプトが表示されつづけます。 プログラム起動中にコマンドプロンプトを表示させなくする方法をご教授願います。 よろしくお願いいたします。

    • ベストアンサー
    • Ruby
  • コマンドプロンプトで実行ファイルを終了

    Windows XP のコマンドプロンプトで C:\○○○.exe などとして、アプリケーション(実行ファイル)を起動させられることが分かりました。 逆に、コマンドプロンプトから、起動させた実行ファイルを終了させるコマンドはあるのでしょうか?

  • コマンドプロンプトにおけるコマンド履歴の保存

    よろしくお願いします。 Linux系OSのシェルでは、コマンド履歴は ~/.hisitoryというファイルに保存されて 次回にシェルを起動したときに、historyコマンドで履歴を参照できます。 一方、コマンドプロンプトにおけるコマンド履歴は、一端コマンドプロンプトを閉じると 削除されてしまいます。 コマンド履歴を次回起動時に呼び出せる方法はないのでしょうか? ちなみにOSはWindows Vistaです。

  • コマンドプロンプトについて

    パソコンのOSをMeからXPにアップグレードしたのですが、Borland C++ Compiler 5.5を使ってメモ帳にTEST.Cというプログラムのファイルを作成し、コマンドプロンプトにbcc32 test.cと入力しても「'test.c'というファイルが見つかりません」となってしまいます。初心者なのでどうしていいかわかりません。よろしくおねがいします。

  • 「コマンドプロンプト」が見つかりません

    Windows XPを使っているんですが、 「アクセサリ」の中に 「コマンドプロンプト」が見つかりません 誰か起動方法教えて下さい。

  • コマンドプロンプトの保存?

    コマンドプロンプト(winXP)を使用してファイルのコピーにチャレンジしています。 毎日AのフォルダをBフォルダへ上書きしたいのです。 xcopyを実行させる所までは理解できたのですが、全くの初心者なので、この設定を保存して、<起動すれば実行する>というプログラムにできません。 よろしくお願いします。

  • コマンドプロンプトから新規作成

    エクスプローラーなどでフォルダを開いてから [ファイル]→[新規作成]などで空のファイルを作成できますよね。 あれをコマンドプロンプトから行えますか? やりたいことは、バッチ処理の中で あるフォルダ上に空のテキストファイルをある名前で作成したいだけなんですが。