gooドクター有料プランが1ヶ月間無料!

お世話になります。
自分では解決できないのでお力をかして下さい。

ネットーワーク上に共有フォルダがあり、そのフォルダの中に"在庫リスト"のファイルと"バックアップ在庫リスト"のフォルダがあります。

下記の4つのVBAを結合して、各シート毎に作成してあるボタンに登録してます。

Module① 
Sub フォルダ移動()
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("\\Tx100s1-cad\d")
Set colFiles = objFolder.Files
dtmOldestDate = Now

For Each objFile In colFiles
If objFile.DateCreated < dtmOldestDate Then
dtmOldestDate = objFile.DateCreated
strOldestFile = objFile.Path
End If
Next
objFSO.MoveFile strOldestFile, "\\Tx100s1-cad\d\バックアップ在庫リスト\"
End Sub

Module②
Sub ファイル日時上書き()
tbn = ThisWorkbook.FullName
ActiveWorkbook.SaveAs Filename:="\\Tx100s1-cad\d\在庫" & Format(Now(), "mmdd-hhmm") & ".xls"
End Sub

Module③
Sub 日時入力()
Range("A1").Value = Now
End Sub

Module④
Sub 上書き保存()
Dim wb As Workbook
Set wb = ActiveWorkbook
wb.Close
End Sub

上記、4つのVBAを下記の様にマクロ結合してます
Sub マクロの結合()
日時入力
ファイル日時上書き
フォルダ移動
上書き保存
End Sub


これで、3台のパソコンは問題なく作動して
ボタンを押すたびにファイル名は保存時の時間で保存され
古いファイルは"バックアップ在庫リスト"にたまっていきます。

ですが、なぜか
1台のパソコンだけが実行エラーをおこします。
実行エラー"5" プロシージャの呼び出し、または引数が不正です

と、でてしまいます。

それが、毎回エラーではなくできる、できないを交互に繰り返します。

そのパソコン以外だと問題なく作動してるので
ファイルの原因ではないかと思うのですが

どこを修正すればいいでしょうか?

お手数おかけしますが
よろしくお願い致します。

質問者からの補足コメント

  • ちなみに実行エラーで黄色く光るのは下記の部分です。


    objFSO.MoveFile strOldestFile, "\\Tx100s1-cad\d\バックアップ在庫リスト\"

      補足日時:2017/10/24 14:50
gooドクター

A 回答 (1件)

>objFSO.MoveFile strOldestFile, "\\Tx100s1-cad\d\バックアップ在庫リスト\"



基本的なプログラミングのルールですが、リテラルな書き方を辞めてみたらどうでしょうか。

Const DEST As String ="\\Tx100s1-cad\d\バックアップ在庫リスト\"
ということと、

If Dir(DEST, vbDirectory) ="" Then
  MsgBox "目的のフォルダーが見つかりません。", vbExclamation
End If

などとしてみるしかありませんね。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
他の方法でやってみます。

ありがとうございます。

お礼日時:2017/10/31 09:48

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

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング