• ベストアンサー

EXCELファイルの履歴記録方法について教えてください。

EXCELファイルの履歴記録方法について教えてください。 (1)サーバー上にあるEXCELファイルを開いた時に"いつ、誰が開いたのか"履歴を記録したいのですが、VBA等で実現可能でしょうか? 社内の人に使ってもらおうと思って作ったEXCELファイルがどれだけ利用されているのか測定したいのです。 (2)もっと欲を言えば、ファイルを開いた人が、あらかじめ作成しておいたピボットテーブルで、主に"ページのフィールド"項目を変更するのですが、"項目の中のどのデータに変更したのか"がわかるようになると最高です。これはちょっと難しそうだと思っていますが・・・ どなたか詳しい方のお知恵を拝借いただけないでしょうか?

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

エクセルには、ブックを開いたとき飛んできて、ユーザーが書いたプログラム処理をしてくれる仕組みがある。WorkbookのOpenイベントです。 そこに Private Sub Workbook_Open() Open "C:\Documents and Settings\OTO\My Documents\履歴.txt" For Append As #1 Print #1, Date, Time, Application.UserName Close #1 End Sub VBE画面のVBAPrijectのThisworkbookをクリックし、上部の2箇所の ▼をクリックし、左でWorkbook、右でOpenを選び(あるいは初めに Private Sub Workbook_Open() End Sub ガ出てくるかもしれない) そこに上記コードをコピペして入れる。 ーー 結果 開いた都度下記内容が記録される。メモ帳で確認できる。 下記は2度開いた結果 2007/11/17 8:53:20 TAKAI 2007/11/17 8:54:35 TAKAI 項目は他にコンピュターで捉えられるものがあれば、(増やすものがあれば)増やせばよい。 ーー 後半の課題は、変更項目を特定するものがつかめれば、Openでシートの特定のセルの最初の内容(Public変数に記憶)、Close(BeforeCloseイベント)の時、最後のそのシートの特定のセルの内容を書き出せばよい。 ネット環境ではテストできないのでよろしく。

duelist707
質問者

お礼

imogasiさん、ご回答ありがとうございました。 (1)の履歴記録は、簡単な記述だけでできてしまったので、 感動しています。 自宅では成功しましたので、週明けに会社でトライしてみます。 (2)のピボット変更履歴も、きっと簡単な記述になるのかと 思いますが、何せ"素人"なのでどうやって記述したらいいのか わからない、というのが素直なところです。 ◎具体例を示してみます。 ~ピボットテーブル~  部門 すべて▼  合計 / 金額  科目▼  合計  賃借料 1,000  保険料 2,000  備品費 3,000 ~~~~~~~~~~ 上記のように表示されているピボットテーブルで 主に"部門"の▼で"A部門""B部門"と変更します。 この時、VBEにどのような記述をしたら良いか 教えてください。

duelist707
質問者

補足

試行錯誤して自分でやってみたらできました! openとcloseのprintのところにセルを特定すれば良いだけだったんですね。 imogasiさん、ありがとうございました。解決です。 vbaって奥が深いですね、感心。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル 変更履歴の記録について

    エクセルで変更履歴の記録をする場合、ブックを共有にする必要がありますが、共有にするとマクロの編集等ができなくなります。マクロの編集等をするため共有を解除すると変更履歴が消えてしまいます。 ブックの共有を解除しても履歴を保持する方法がありましたら教えてください。 もしくはVBAで、ワークシートに変更箇所が生じた場合、セルのコメントに変更履歴に準じて「変更したユーザー」「変更日時」「変更前セル内容」を自動的に表示させる方法があれば教えてください。 (行・列の挿入・削除には対応してなくても、セルの変更だけでも結構です) よろしくお願いします。

  • Excelの変更履歴についてお願いします

    ★(1)ツール→(2)変更履歴の記録→(3)変更箇所の表示 にて事前に設定した場合のみ『変更履歴の確認』が可能なのでしょうか? ★Excelの保存データの変更履歴を確認できる方法はあるのでしょうか? ★もし変更履歴の確認方法がある場合、履歴を消去する方法はありますか? よろしくお願い致します。 (WindowsXP,Excel2002を使用)

  • Excelのピボットの項目をVBAで追加するには

    ExcelでRaw dataからVBAでピボットテーブルを作成しています。 現在のピボットの項目には「個別の売り上げ金額」と「個別の売り上げ目標」が個人ごとに集計されているところまでできています。 私はこれから個人ごとの達成率(「個別の売り上げ金額」/「個別の売り上げ目標」 )を追加で出したいと考えています。 VBAを使わずに手動であればピボットフィールドテーブルツールの集計フィールドから「個別の売り上げ金額」/「個別の売り上げ目標」を行って簡単にできなくもないですが、VBA(コード)で達成率まで出したいです。 今回のようにすでにピボットで出ている項目から追加して新たな項目をVBAで出すにはどのようにすればよいでしょうか? 参考となるサイトなどでもあれば教えて下さい。

  • IE7で履歴が記録されない

    いつからなのかはちょっと良く確認できなかったのですが IE7で履歴が記録されなくなってしまいました。 ブラウジングした後、Ctrl+Hで履歴を開いても空白のままで何も残っていなくて少し困っています。 OSはVista Ultです。 インターネットオプションからの履歴の削除、 一時ファイルの容量の変更、(1024MB)履歴の記録日数の変更 など試しましたが効果はありませんでした。 有識な方、どうかご教授お願いします。

  • IEの履歴の中にエクセルのファイル?

    友達の代理質問です。 エクセルやワードのファイルを編集したりしたあと、 普通は「最近使ったファイル」に入りますが、 これにも入るんですが、 InternetExplorerの履歴の中にも入っているんです。 その履歴からエクセルのファイルをクリックすると ちゃんとエクセルのファイルが開けます。 エクセルのファイルは、ローカルのものです。 不都合なことはないんですが、気になります。 これって、普通なんですか? どこかおかしいんですか? WindowsMe、InternetExplorer6.0、Excel2000、 インターネット接続はダイアルアップのため、 IEの履歴をよく使用します。

  • Excelの履歴を、過去1月に渡ってみることは、できませんか?

     前、保存していたファイルが見つからない・・・って事は、エクス婦ローラーから変更(一月)で指定して、だいたいのファイル名で、検索すれば、でるのですが・・Excel自体の履歴は、Excelの設定を履歴を取るにしないと、みれませんでしたでしょうか?

  • ピボットテーブルの行に入る項目数

    恐らく、知っている人には超簡単なことなのでしょうが。。。 どうやったらいいのかわりませんので、どなたか教えてください。 エクセル2000を使っています。 ピボットテーブルで表を作成しようと思うのですが、「行」の部分に7個目の項目を入れようとすると、下記のメッセージが出てうまくできません。 「行アイテムまたは列アイテムが多すぎるため、変更できません。1つ以上の行フィールドまたは列フィールドをピボットテーブルから、またはページ位置にドラッグしてください。または、フィールドを右クリックし、ショートカットメニューの[表示しない]または[レベルを表示しない]をクリックします。」 しかしながら、他の人のパソコン(同じエクセル2000)にファイルを転送して同様の作業をすると、7個目の項目も問題なく入ります。 恐らく私のエクセルの設定に問題があると思うのですが、どこにその項目があるかわかりません。 よろしくお願いいたします。

  • 複数のExcelを1つのExcelに

    Excel.xlsの1シート目に、フィールドとデータが入っています。このExcelが担当者ごと複数存在します。 複数のExcelを1フォルダにまとめ、1行目はフィールド・あとは全てデータとして、1つのExcelブックの1シートへまとめることは可能でしょうか? フィールドは38列、行数はブックごと異なり、ブック名も担当者ごと異なります。 いろいろ調べたのですが、VBA初心者の為、VBAを貼り付けて実行してもうまくいきませんでした。 できれば、元ファイルは消さないよう、コピーのみ行いたいと思っています。 フォルダ名は C:\出庫依頼書 です。 どなたかご教授いただけませんでしょうか。

  • excelの「最近使ったファイル」について

    会社で excel2000 を利用しています。 いろんな人が作ったexcelファイルを閲覧する機会が多いのですが、 一度excelファイルを開いて閉じた後、後に再び開こうと思っても、またディレクトリーを追っていかなければいけないのが面倒です。 そこで、一度閲覧して閉じたファイルも、最近使ったファイルの履歴に残すことは出来ないでしょうか? よろしくお願いします。

  • エクセル2000 ピボットテーブルで行に入れられる項目数の上限

    エクセル2000 ピボットテーブルを作成しています。 行に4項目、データに1項目、ページに2項目入れたいのですが、行に3項目しか入りません。(データとページはできました) 以下のエラーメッセージが出ます。  「行アイテム・列アイテムが多すぎるため、変更できません。1つ以上の行フィールドまたは列フィールドをピボットテーブルから、またはページ位置にドラッグして下さい。フィールドを右クリックし、ショートカットメニューの表示しないまたはレベルを表示しないをクリックします」 ためしにエクセル2003のパソコンで試したら4項目入りました。 エクセルのバージョンの差なのでしょうか? 元データはエクセルで1200行、20列程度です。