2017-11-13 12 views
0

申し訳ありませんが、3日後に私はあきらめます。だから私は何が非常に単純な質問であるべきかを尋ねていますが、私が見つけたすべての例はExcelファイルを開くか、何か私の場合のようにファイルが既に別のマクロから、下のコードを使用して開いている、私はちょうどすでに開いているファイルのためにそれを適応させる方法を理解できないようですね??Excelとそのファイルが既に開いているときに、WordマクロからExcelを参照しますか?

また、コード内からExcelをアクティブなウィンドウに移動する方法を理解しようとしていますか?

Dim oApp As Object 
Dim x As Variant 
Dim sPath As String 
Dim oExcel As Excel.Application 
Dim oWB As Workbook 
Dim oSheet As String 

sPath = "E:\Special Folders\WWWRoot\temp.xlsx" 
oSheet = "--Keywording--" 

On Error Resume Next 


    Set oExcel = New Excel.Application 
    Set oWB = oExcel.Workbooks.Open(sPath) 
    oExcel.Visible = True 
    Sheets(oSheet).Select 

    Range("A1:G1000").Clear 
    Range("A1").Select 

    Sheets(oSheet).Cells(1, 1).Select 
    Sheets(oSheet).PasteSpecial (xlPasteAll) 

    Range("A1").Select 
+1

'set oExcel = GetObject(" Excel.Application ")'または 'Set oExcel = GetObject(" Book2 ")。Application'詳細はこちらをご覧ください:https://support.microsoft.com/ en-us/help/288902/getobject-and-createobject-behavior-of-office-automation-servers – cyboashu

+0

あなたが持っているコードは、あなたが望むことをします。そのコードの最後に、Excelワークブックがアクティブになります。なぜそれは動作していないと思いますか?または、マクロの残りの部分、または別のマクロは、アクティブなアプリケーションをWordアプリケーションに戻し、再びExcelアプリケーションに戻そうとしていますか? (その場合は、おそらくあなたのマクロ間の 'oWB'への参照を渡す必要があるでしょう) – YowE3K

+0

助けてくれてありがとう:私は次のようにすることができましたが、GetObject(oSheet)を使ってシートを参照することはできません。 MSFT文書が提出した申請書。おかげで再び - CES 薄暗いoSheet文字列として oSheet = "--Keywording--" 設定oExcel =のGetObject(、 "まずExcel.Application") 設定oExcel = GetObject関数(oSheet).applicationの "oExcel.Visible = oExcel.Sheets(oSheet) ' ' .Select との真の ' ' '.Range( "A1:G1000")。クリア ' .Cells(1、1).Select 「.PasteSpecial(xlPasteAll) '。セル(1,1).Select ' 'で終わり – CES

答えて

0

申し訳ありませんが、マクロレコーダーをオンにして欲しいものを手に入れることはできませんか?

Sub TryThis() 
    Windows("SecondaryWorkbook.xlsb").Activate 
    Range("A1").Select 
    Windows("PrimaryWorkbook.xls").Activate 
    Range("A1").Select 
End Sub 

私はあなたがExcelの同じインスタンスにいる必要があると信じています、またはこれはうまくいきません。 AFAIK、Excelの異なるインスタンスは互いに通信しません...まったく。

関連する問題