2009-07-09 3 views
2

Excel 파일의 특정 셀을 복사하여 단어 (filed)로 붙여 넣는 ms 단어 2003에 VB 코드가 있어야합니다. 아래는 내가 한 일이며 오류가 발생합니다.MSExcel의 셀에서 VB 코드로 MSWord 파일의 값을 복사하는 방법은 무엇입니까?

Sub cmdGetNumber() 
Dim XL As Object 
Dim WBEx As Object 
Dim ExelWS As Object 
Dim appwd As Object 
Dim wdApp As Word.Application 

'''' 

'On Error GoTo OLE_ERROR 
Set XL = CreateObject("Excel.Application") 
Set wdApp = CreateObject("Word.Application") 

'Open Excel document 
Set WBEx = XL.Workbooks.Open("C:\Documents and Settings\121567\Desktop\tafket1.xls") 
Set ExelWS = WBEx.Worksheets("Sheet1") 
XL.Visible = True 
'appwd.Visible = True 

ExelWS.Range("c2").Select 
'Selection.Copy 

'wdApp.Selection.PasteSpecial Placement:=wdInLine, DataType:=wdPasteMetafilePicture 
'wdApp.Documents.Save 
Set wdApp = Nothing 
Set ExelWS = Nothing 
Set WBEx = Nothing 

End Sub 
+0

과 같이 Selection.Paste을 대체 할 수 있습니다. wdPasteMetafilePicture 대신 wdPasteText 또는 wdPasteRTF를 시도 할 수 있습니까? – barrowc

+0

질문 끝에 오류 텍스트를 붙여주십시오. – RBarryYoung

답변

2

이 매크로는 Word에 있기 때문에 단어 인스턴스를 명시 적으로 열 필요가 없습니다. 새 문서를 추가하려면 Documents.Add을 입력하거나 기존 문서를 열려면 Documents.Open을 사용하면됩니다.

이 시도 :

Sub cmdGetNumber() 
    Dim XL As Object 
    Dim WBEx As Object 
    Dim ExelWS As Object 
    Dim wdDoc As Word.Document 

    'On Error GoTo OLE_ERROR 
    Set XL = CreateObject("Excel.Application") 

    'Open Excel document 
    Set WBEx = XL.Workbooks.Open("C:\Documents and Settings\121567\Desktop\tafket1.xls") 
    Set ExelWS = WBEx.Worksheets("Sheet1") 
    'XL.Visible = True 
    ExelWS.Range("C2").Copy 

    Set wdDoc = Documents.Add 
    wdDoc.Activate 
    wdDoc.Select 
    Selection.Paste 

    WBEx.Close 
    XL.Quit 
    Set WBEx = Nothing 
    Set ExelWS = Nothing 
    Set XL = Nothing 
End Sub 

위의 코드는, 당신의 엑셀 파일을 열 복사 셀 C2를, 새로운 워드 문서를 열고, 거기에 붙여 넣기합니다.

귀하의 질문에 (filed)을 언급 했었습니다. Field 또는 File을 찾으셨습니까? Field 인 경우

+0

+1 멋지게 완료했습니다. :) –

관련 문제