Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


36687 / 76737 ←次へ | 前へ→

【45228】Re:2つのファイルを1つに合体したい
回答  Kein  - 06/12/15(金) 19:43 -

引用なし
パスワード
   ファイルの同期をとる。ということなら、更新日時の新しい方から古い方へコピー
するのが定石でしょう。例えばこのようなコードで出来ます。

Sub MyFile_Update()
  Dim MyF As String, MyF2 As String, Pmt As String
  Dim WshShell As Object, FSO As Object
  Dim Dt1 As Date, Dt2 As Date
  Dim Ans As Integer
  Const Fol As String = _
  "\\CP1\F\Documents and Settings\Administrator\My Documents\Exl_Files"
  'ネットワーク上の保存先フォルダーのパス
 
  Set WshShell = CreateObject("WScript.Shell")
  On Error Resume Next
  WshShell.CurrentDirectory = Fol
  If Err.Number <> 0 Then
   MsgBox "ネットワークに繋がっていません", 48
   Set WshShell = Nothing: Exit Sub
  End If
  On Error GoTo 0
  With Application
   MyF = .GetOpenFilename
   If MyF = "False" Then GoTo ELine
   MyF2 = .DefaultFilePath & "\" & Dir(MyF)
  End With
  Set FSO = CreateObject("Scripting.FileSystemObject")
  If FSO.FileExists(MyF2) = False Then
   MsgBox "その名前のファイルはこのマシンに存在しません", 48
   GoTo ELine
  End If
  Dt1 = FSO.GetFile(MyF).DateLastModified
  Dt2 = FSO.GetFile(MyF2).DateLastModified
  Pmt = "選択したファイルの更新日時" & vbLf & Dt1 & vbLf & _
  "こちらのマシンにあるファイルの更新日時" & vbLf & Dt2 & vbLf & vbLf
  If Dt1 > Dt2 Then
   Ans = MsgBox(Pmt & "ネットワーク上のファイルをこちらのファイル" _
   & vbLf & "にコピーしますか", 36)
   If Ans = 6 Then FSO.CopyFile MyF, MyF2, True
  ElseIf Dt1 < Dt2 Then
   Ans = MsgBox(Pmt & "こちらのファイルをネットワーク上のファイル" _
   & vbLf & "にコピーしますか", 36)
   If Ans = 6 Then FSO.CopyFile MyF2, MyF, True
  Else
   MsgBox "更新済みです", 64
  End If
ELine:
  Set WshShell = Nothing: Set FSO = Nothing
End Sub

ダイアログで選択したファイルと同じ名前のファイルが、こちらのマシンの
"通常エクセルファイルを開く"フォルダーに存在しているか、チェックしています。
なお「データを比較して」ということなら、双方のファイルに作業シートを挿入
しておき、A1:E12 の範囲にリンク式を埋めて値を引っ張り、COUNTA関数で入力数
を比べる、などが考えられます。

0 hits

【45211】2つのファイルを1つに合体したい カド 06/12/15(金) 16:43 質問
【45221】Re:2つのファイルを1つに合体したい 飛ばない豚 06/12/15(金) 18:19 発言
【45230】Re:2つのファイルを1つに合体したい カド 06/12/15(金) 20:30 お礼
【45228】Re:2つのファイルを1つに合体したい Kein 06/12/15(金) 19:43 回答
【45231】Re:2つのファイルを1つに合体したい カド 06/12/15(金) 20:35 発言

36687 / 76737 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free