1

このVBscript行をExcelオブジェクトで動作させるのに苦労しています:

set fso=CreateObject("Scripting.FileSystemObject") 
Set WShell = CreateObject("WScript.Shell") 
Set objExcel = createobject("Excel.application") 

objexcel.Visible = true 
objexcel.Application.ScreenUpdating = True 

objexcel.Workbooks.Open dir & masterFileName 
objexcel.Activeworkbook.Worksheets("xActive_User_Ratio").Activate 
objexcel.Range("A1").Select 
objexcel.Range(Selection, Selection.End(xlToRight)).Select 

このコードを実行すると、エラーが発生します。

Object required: 'Selection' 

私は何を間違っていますか?どんな例でも非常に役に立ちます。

助けてください

4

1 に答える 1

4

これは、Excel の外部から実行しているためです。

objExcel.Selectionの代わりに使用しSelectionます。Selection が Excel アプリケーションに関連付けられていることをコードで認識できるようにします。さらに、xlToRight を定義するか、それを数値に置き換える必要があります。

さらに良いことに、 with を使用して、全体を次のように書き直します。

Set fso = CreateObject("Scripting.FileSystemObject")
Set WShell = CreateObject("WScript.Shell")
Set objexcel = CreateObject("Excel.application")
xlToRight = -4161 ' -4161 is the value of xlToRight
With objexcel
    .Visible = True
    .Application.ScreenUpdating = True
    'using variables for workbook and worksheet to be explicit
    Set wb = .Workbooks.Open(Dir & masterFileName)
    Set ws = wb.Worksheets("xActive_User_Ratio")
    ws.Activate
    ws.Range("A1").Select
    ws.Range(.Selection, .Selection.End(xlToRight)).Select        
End With
于 2012-10-10T18:00:46.410 に答える