0

このための構文をまとめるのに問題があり、VBAでFSOを使い始めたばかりなので、ご容赦ください。

fsofol.name = test1(これは正しいです)

各セルの列「A」にデータがあるかどうかを確認しようとしています。データがある場合は、リストしたオフセットセルにフォルダーの名前を入力します。私は近くにいることを望んでいますが、誰かが提案を手伝ってくれるなら、私は感謝するでしょう。ありがとう!

下の問題行にメモを入れました

    Dim fsoFol As Object  

    If fileName Like "V*.xls" Then
         wbkCS.Worksheets("Cut Sheet").Range("S4:S2000").Copy
              With wbkVer.Worksheets("Cutsheets")
              Set firstRange = .Range("A" & .Rows.Count).End(xlUp).Offset(1, 0) 
    firstRange.PasteSpecial xlPasteValues
    If firstRange.Value Like "*" Then
         fsoFol.Name.Copy **'error is here and states object required**
         firstRange.Offset(0, 5).PasteSpecial xlPasteValues
    End If
              End With
4

2 に答える 2

2

変化する

 fsoFol.Name.Copy **'error is here and states object required**
 firstRange.Offset(0, 5).PasteSpecial xlPasteValues

 firstRange.Offset(0, 5).Value = fsoFol.Name
于 2013-01-11T02:14:23.450 に答える
1

FSOがでScripting.FileSystemObjectあり、「test1」というフォルダ内のすべての「V * .xls」ファイルを処理したい場合、いくつかの手順がありません。

ファイルシステムオブジェクトの作成

Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")

フォルダの割り当て

Dim fsoFol As Object
Set fsoFol = fso.GetFolder("C:\Temp\test1")

ファイルの操作

Dim fsoFile As Object
For Each fsoFile in fsoFol.Files
  If fsoFile.Name Like "V*.xls" Then
    ' code for working with the Excel files goes here
  End If
Next fsoFile

特定のExcelファイルを開き、それを変数に割り当てます

' Assuming you have Dim wbkCS As Workbook at the start of the module

Set wbkCS = Workbooks.Open(fsoFile.Name)

' code to process the actual file goes here

wbkCS.Close False

wbkVerにコピーされたセルで何をしようとしているのかわかりません。ほぼ2000個のセルをコピーしていますが、コピーされた最初のセルの値のみを確認しています。また、テストLike "*"は空のセルと値を持つセルの両方に対してTrueを返すため、おそらく必要なものではありません。その要件を明確にすることができれば、私たちは物事を少し動かすことができます

于 2013-01-11T03:17:00.743 に答える