2017-04-17 6 views
1

シート全体をExcelファイルから別のファイルにコピーするにはどのような.vbsコードを使用できますか?ファイル全体を別のファイルにコピーするための.vbs(スクリプト)

私は次の行を試しましたが、2行目と3行目にエラー(Error Image)が表示され、スクリプトが実行されても何も実行されません。

Sub Copy_Sheet() 
    Dim x As Workbook 
    Dim y As Workbook 

    Set x = Workbooks.Open("C:\File1.xls") 
    Set y = Workbooks.Open("C:\File2.xlsx") 

    y.Sheets("Sheet1").Range("A1").Value = x.Sheets("Sheet1").Range("A1") 

    y.Save 
    y.close 
    x.Close 

    End Sub 

答えて

0

あなたはこれが何の問題もなくxからyにワークシートをコピーする必要があり、この

Dim xlapp ' as excel object 
Dim WSx, WSy ' as excel worksheet 
Dim x, y ' as workbook 

Set xlapp = CreateObject("Excel.Application") 

Set x = xlapp.Workbooks.Open("C:\File1.xls") 
Set y = xlapp.Workbooks.Open("C:\File2.xlsx") 
Set WSx = x.Worksheets("Sheet1") 
Set WSy = y.Worksheets("Sheet1") 

WSy.Range("A1").value = WSx.Range("A1").value 

Set WSx = nothing 
Set WSy = nothing 

y.Save 
y.close 
x.Close 
+0

これはすべてのシートをコピーするか、またはA1値だけをコピーしますか? –

+0

こんにちはホセ、 "A1"値のみ。すべてのシートをコピーするには、すべてのシートをループし、 'For Each xSheet in X.Sheets'を使用して別のブックにコピーし、Daveの答えのように' xlSheet.copy'関数を使用します。 –

+0

ありがとう...私はすでに作成しましたそれはあなたの助けを借りて。 –

1
Dim xlapp ' as excel object 
Dim WSx, WSy ' as excel worksheet 
Dim x, y ' as workbook 
Set xlapp = CreateObject("Excel.Application") 
Set x = xlapp.Workbooks.Open("C:\File1.xls") 
Set y = xlapp.Workbooks.Open("C:\File2.xlsx") 
Set WSx = x.Worksheets("Sheet1") 
Set WSy = y.Worksheets("Sheet1") 
WSx.Copy WSy ' copy worksheet to other workbook 
Set WSx = nothing 
Set WSy = nothing 
y.Save 
y.close 
x.Close 

をしようとします。

0

VBAは(VBとVBSとの間の差分がhereの読み取りを開始するため)

Dim x As Workbook 

等DIMSはVBScriptで違法である入力しました。これはエラーを説明します。

+0

リンクに感謝します。 –

関連する問題