2017-02-06 1 views
3

단어에 대한 명령 단추가 코딩되어 있습니다. 단어 문서의 단추는 Excel 통합 문서의 파일 이름을 지정하는 대화 상자를 호출 한 다음 명명 된 범위를 복사하여 그림으로 단어에 붙여 넣습니다. 복사 및 붙여 넣기 부분은 매우 간단하지만 파일 이름 대화 상자가 나타나지 않습니다. 시행 착오를 많이 꽤 많은 내가 찾은 모든 예제는하지 (가능한 한 그것을 청소하려고 지금까지 대화단어 내에서 복사하여 그림과 같이 붙여 넣기라는 이름의 Excel 범위

내 코드에서, 코드 내에서 엑셀 파일 이름을 지정

있었다) Excel의 Application.GetOpenFilename

워드 VBA에서
Sub CRA_copy() 

Dim oXL As Excel.Application 
Dim oWB As Excel.Workbook 
Dim oSheet As Excel.Worksheet 
Dim oRng As Excel.Range 
Dim ExcelWasNotRunning As Boolean 
Dim WorkbookToWorkOn As String 
Dim dlgOpen As FileDialog 
Dim crabook As String 

oName = ActiveDocument.Name 

'If Excel is running, get a handle on it; otherwise start a new instance of Excel 
On Error Resume Next 
Set oXL = GetObject(, "Excel.Application") 

If Err Then 
    ExcelWasNotRunning = True 
    Set oXL = New Excel.Application 
End If 

On Error GoTo Err_Handler 

'Open the workbook  
crabook = Application.GetOpenFilename(_ 
     filefilter:="Excel Files (*.xl*), *.xl*", MultiSelect:=False) 

'Process each of the spreadsheets in the workbook 
oXL.ActiveWorkbook.Range("CRA").Copy 

If ExcelWasNotRunning Then 
    oXL.Quit 
End If 

oName.Activate 

Selection.EndKey Unit:=wdStory 
Document.InsertBreak Type:=wdPageBreak 

Selection.Paste 
'Make sure you release object references. 
Set oRng = Nothing 
Set oSheet = Nothing 
Set oWB = Nothing 
Set oXL = Nothing 

'quit 
Exit Sub 

Err_Handler: 
    MsgBox WorkbookToWorkOn & " caused a problem. " & Err.Description, vbCritical, _ 
    "Error: " & Err.Number 
If ExcelWasNotRunning Then 
    oXL.Quit 
End If 

End Sub 
+0

당신이 당신의 전체 우편 번호를 변경되었습니다

아래 코드를 시도? 나는이 질문에 답이 난다면 이전 게시물로 옮겼다. 대답으로 표시한다. 그런 다음 새 요청을 사용하여 새 게시물을 열고 수정 된 코드를 추가하십시오. 그렇지 않으면 게시물이 여기에 절대 닫히지 않습니다. –

+0

투어를 가져 와서 질문하는 방법과 답변을 얻는 방법을 제안합니다. ** SO **, right 여기에 http://stackoverflow.com/tour –

+0

이것은 정말로 이미지를 게시합니까? 링크 나 서식있는 텍스트를 붙여 넣을 수는 있지만 이미지는 붙여 넣지 않는 것 같습니다. –

답변

0

것과 동일 Application.FileDialog입니다.

Set dlgOpen = Application.FileDialog(msoFileDialogFilePicker) 

' modify the FileDialog settings 
With dlgOpen 
    'Add a filter that includes .xl* (.xls, .xlsx, .xlsm) 
    .Filters.Add "Excel Files (*.xl*)", "*.xl*" 
    .AllowMultiSelect = False 
    .Show 

    crabook = .SelectedItems(1) 
End With