• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBでのファイル作成日の比較)

VBでのファイル作成日の比較方法とファイル置換について

このQ&Aのポイント
  • VB2010でファイルの作成日を比較する方法やファイル置換について相談です。
  • 2つのファイルの作成日を比較し、新しい方のファイルで古い方のファイルを置換する方法を探しています。
  • FileInfo.CopyToメソッドを使った場合、ファイルの内容はコピーできますが、作成日は変わらないため、別の方法を模索しています。

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

  • ベストアンサー
回答No.1

こんな感じでいかがです。 Sub XXX() Dim A, B Dim AA, BB, CC, DD Dim AAA, BBB, CCC, DDD AA = "C:\MyFile.txt" BB = "D:\YourFile.txt" Set AAA = CreateObject("Scripting.FileSystemObject") Set BBB = AAA.GetFile(AA) Set CCC = AAA.GetFile(BB) A = BBB.DateLastModified B = CCC.DateLastModified If B > A Then Kill AA CC = Left(AA, InStrRev(AA, "\")) DD = Right(BB, Len(BB) - InStrRev(BB, "\")) AAA.MoveFile BB, CC Set DDD = AAA.GetFile(CC & DD) DDD.Name = Right(AA, Len(AA) - InStrRev(AA, "\")) End If End Sub InStrRevの意味は、AA,BB の値に"\"が増えた場合の措置です。 また、AA,BB の値がどこに記述されているかによって、 AA=Sheets("ZZZ").Range("C2").Value BB=Sheets("AAA").Range("D3").Value のような記述OK

fflashing
質問者

お礼

ありがとうございます、コードまで書いて頂き助かりました!

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

関連するQ&A

  • ファイルの「作成日・更新日」の変更

    VBにて「ファイルの作成日付、最終変更日付」の 取得と変更を行いたいのですが やり方がわかりません。 MSDNを検索したのですが Visual C++ に GetStatus という物があり、ファイル ステータスを取得できるとあったのですが VBには、そのような物は、無いのでしょうか? やりたい事は、 既存の「A.txt」というのがある VBにて作成した「B.txt」というファイルある A.txtの作成日と更新日を読み込んで B.txtの作成日を変更したい といった具合です。 宜しくお願いします。

  • EXCELでテキストファイルを取込むマクロの作成

    EXCELにテキストファイルを「カンマ区切り」で読み込みしたいのですが、 下記マクロの内容でデータはインポートされるのですが、 元のデータが悪いのか「読影日」と「検査日」の区切りが項目が別れてしまい 項目が二つほどずれてしまい正しくインポートされないのですが サンプル画面を添付いたします。 作成方法ご伝授お願いいたします。 sub macro1()  dim myFile as string  myfile = application.getopenfilename(filefilter:="テキストファイル(*.txt),*.txt")  if myfile = "False" then exit sub  workbooks.opentext _   filename:=myfile, _   datatype:=xldelimited, _   textqualifier:=xltextqualifierdoublequote, _   tab:=true, _   comma:=true, _   space:=true ’予備  activeworkbook.worksheets(1).move before:=thisworkbook.worksheets(1) end sub

  • VB.NET ファイルへのアクセス許可の判定

    Framework2.0で開発しています。 今の所、ファイルへのアクセス許可を判定する際に、クラス「System.IO.FileInfo」のメソッド「OpenRead」を実行し、エラーなるかならないかで、ファイルへアクセスできないできるを判断しています。 メソッド「OpenRead」実行時にファイルへロックを掛けてしまい、その後プログラムのプロセスが終了するまで、ファイルのロックが解除されなくて困っています。 ファイルをロックせずに、ファイルへのアクセス許可を判定する方法を教えてください。 お願い致します。

  • EXCELにテキストファイルを読込むマクロ作成

    EXCELにテキストファイルを「カンマ区切り」で読み込みしたいのですが、 下記マクロの内容ではカンマ区切りで正しくインポートされないのですが 作成方法ご伝授お願いいたします。 sub macro1()  dim myFile as string  myfile = application.getopenfilename(filefilter:="テキストファイル(*.txt),*.txt")  if myfile = "False" then exit sub  workbooks.opentext _   filename:=myfile, _   datatype:=xldelimited, _   textqualifier:=xltextqualifierdoublequote, _   tab:=true, _   comma:=true, _   space:=true ’予備  activeworkbook.worksheets(1).move before:=thisworkbook.worksheets(1) end sub

  • ファイル内の文字列を置換するcscriptについて

    お世話になります。 早速ですが、 以前、以下のような、「UNIXファイルの文字列を置換する」プログラムを Cscript で記述する方法を教えていただいたものですが、 cscript //nologo foo.vbs < t22.org > t22.txt ====foo.vbs==================================================== Do While Not WScript.StdIn.AtEndOfStream str = WScript.StdIn.ReadLine WScript.StdOut.Write replace(str,"abc","xxx") & vbLF Loop 今回、これをさらに、 Cscript で「置換するファイル」と「置換する文字列」も指定するプログラム にしたいと思い記述してみたのですが、下記のような問題が発生します。 「置換後のファイルの最後に改行文字が入ってしまいます。」原因がわかりません。 cscript //nologo f00.vbs t22.txt aaa xxx ====foo.vbs==================================================== Dim myFile Dim myRec Dim fso Dim txt, wd1, wd2 txt = WScript.Arguments(0) wd1 = WScript.Arguments(1) wd2 = WScript.Arguments(2) WScript.Echo txt WScript.Echo wd1 WScript.Echo wd2 Set fso = CreateObject("Scripting.FileSystemObject") Set myFile = fso.OpenTextFile(txt) myRec = myFile.ReadAll myRec = replace(myRec,wd1,wd2) myFile.Close Set myFile = fso.CreateTextFile(txt) myFile.WriteLine (myRec) myFile.Close =============================== このコードのどこに問題があるのでしょうか? 読み込んでいるファイルは、Shift-JIS LF改行のファイルです。 あるいは、 もっと簡単な記述方法等ありましたら、ご意見、ご指導ください。

  • ファイルの作成日のこと

    先日NTサーバーを古いものから新しいものに変えました。ワード文書データ等も古いものから新しいものにコピーしたようです。 ところで、「ファイルの作成日」がすべて、その変更した辞典の日付に変わっているようなのですが、この「作成日」(更新日でなく)を変らないままに、コピーすることなどはできるものでしょうか。 #目的は、ファイル一覧をDB化してあり、「ファイル作成日」も項目に入っているので、これが変わるとだめになってしまうため。

  • C言語でフルパスのファイル読み込み方法について

    VBAからC言語の勉強を始めたのですが、 c:\test\myfile.txt というファイルを読み込むとき FILE *fp; fp = fopen("c:\\test\\myfile.txt", "r"); というようにアドレスバーからパスをコピーして貼り付けた後、\を\\に置換しなければなりません。 そのままパス情報を使えていたVBAのプログラムよりかなりわずらわしく感じるのですが、C言語ではファイルの読み込みでフルパスを指定して読み込むのは一般的ではないのでしょうか。 それともほかにやり方(\のままパスを設定する方法)があるのでしょうか。 なんだか使い勝手が違ってちょっと戸惑っているのですが、よろしくお願いします。

  • WSHを使ってファイルの作成日を変更できますか?

    WSH(Windows Script Host)を利用した処理についてですが、ある特定のファイルをコピーした後、そのコピーされたファイルの作成日を任意の日時に変更できるようにしたいと考えています。 日付の取得は可能なのですが、日付の変更も可能でしょうか? (WindowsXPを想定しています)

  • VBを起動せずにEXEファイルを作成する方法

    表題のとおりです。 VBで作成したソースファイル等をVBを起動せずに、EXEファイルを 作成する方法を探しています。 と、言うのも、複数(VB以外も含む)のプロジェクトファイルを一度に コンパイルし、配布できる環境を作成するようにしたいのです。 要は makeファイル 等で作成出来ればと考えています。 何か、VBでEXEファイルを作成できるコマンドライン(C2.EXE等???)が あれば、お教えいただけませんでしょうか? よろしくお願い致します。

  • VB6でFileSystemObjectで読込

    Visual BasicV6でFileSystemObjectを(もし必要ならTextStream オブジェクトも)使って、テキストファイルを変数に読み込む実例を作っていただけませんでしょうか。 UTF-8コードのテキストファイルを読み込みたいのですが、当方、VB.NETは使えないし、MS社などのFileSystemObjectの使い方についての下記説明を見ても、どこで変数に入っていることが分からないため、お願いいたします。 Dim fso, MyFile Set fso = CreateObject("Scripting.FileSystemObject") Set MyFile = fso.CreateTextFile("c:\testfile.txt", True) MyFile.WriteLine("This is a test.") MyFile.Close Visual BasicV6自体は十分使えますが、FileSystemObjectなどについては全く分かりません。よろしくお願いいたします。

このQ&Aのポイント
  • 亡前夫が知的障害があったのではないかと思い、子供にもその可能性があることが心配です。
  • 前夫が出生届を書けなかったり、計算ができなかったりしたことから、知的障害の可能性を感じました。
  • 将来的に孫ができる可能性にも不安を感じ、死にたくなることもあります。
回答を見る

専門家に質問してみよう