2017-09-21 2 views
0

Microsoft Word에서 붙여 넣기 및 서식 매크로를 병합하려고합니다. 나는 끊임없이 웹 사이트에서 복사하고 그 웹 사이트에서 Word에 붙여 넣기하고 있습니다. 불행하게도, 웹 사이트 형식은 항상 :붙여 넣기 및 Word에서 서식 병합

텍스트

내가 형식이 원하는

인용 : ". 텍스트"

소환.

내 코드는 현재 내가) 텍스트와 인용 사이의 단락 공간이하는 방법을 알아낼 수 없습니다

Sub Paste_Citation() 
' Paste_Citation Macro 
    On Error Resume Next 
    Selection.PasteAndFormat (wdFormatSurroundingFormattingWithEmphasis) 
    Selection.TypeBackspace 
    Selection.TypeBackspace 
    Selection.TypeText Text:="." 

End Sub 

이다, b)는 텍스트 주위에 괄호를 넣어. 텍스트 끝에 마침표가 없으면 "ㅋ ㅋ ㅋ"와 같은 형식으로 표시됩니다. 그렇지 않으면 "어쩌구 저쩌구." c) 텍스트가 공백과 마침표 만 포함하는 경우 텍스트를 포함하지 않습니다. 나는 c에 대해 if 문을 수행해야한다는 것을 알고 있지만 Word의 VBA에 익숙하지 않습니다. 누군가 나와 함께 그 과정을 밟을 수 있을까요?

편집 # 1

x = Selection.PasteAndFormat(wdFormatSurroundingFormattingWithEmphasis) 
'trying to set x equal to the pasted formatted value 
Dim Txt As String 
Dim Cit As String 
Txt = Split(x, Chr(182)) 
'trying to split the text based on the paragraph symbol 
'I am confused on what I need to do from there 

내가 이상에 노력하고있다, 그리고 나는 아주 가까이임을 생각이 편집 #. 단락 나누기를 삭제하는 방법뿐만 아니라 정보를 붙여넣고 형식을 병합하는 방법을 알아 냈습니다. 내 문제는 이제 첫 단락 주위에 인용문을 넣고 붙여 넣기 끝까지 커서를 가져오고 마지막에 마침표를 추가하는 방법을 알아낼 수 없다는 것입니다.

Sub PasteCitation() 
'Modified code from http://www.vbaexpress.com/forum/archive/index.php/t-46321.html 
Application.ScreenUpdating = False 

Dim Txt As Range 
Set Txt = Selection.Range 
Txt.PasteAndFormat (wdFormatSurroundingFormattingWithEmphasis) 

With Txt.Find 
    .Forward = True 
    .Wrap = wdFindStop 
    .Format = False 
    .MatchAllWordForms = False 
    .MatchSoundsLike = False 
    .MatchWildcards = True 

    'Replace single paragraph breaks with a space 
    .Text = "([!^13])([^13])([!^13])" 
    .Replacement.Text = "\1 \3" 
    .Execute Replace:=wdReplaceAll 



End With 

Application.ScreenUpdating = True 

End Sub 

답변

0

프로그래밍의 빨간색 선은, 변수 다운로드 '텍스트'와 '인용'을 지정하는 당신이 다음 각 문자열을 조작하기 시작하고 있습니다 성취 그와

Dim Txt As String 
Dim Cit As String 

Txt = "Whatever you scraped from tre website" 
Cit = "Whatever else you scraped from the web" 

말을해야 문서에서 원하는 위치, 예를 들어 현재 선택한 위치에 배치 할 수 있습니다.

이 방법을 사용하면 개별적인 질문에 대한 답변을 신속하게 얻을 수 있습니다. 한편, 어떤 오류가 발생할 수 있는지, 어떻게 처리 할 것인지 알지 못하는 동안 On Error Resume Next을 사용하지 마십시오.

+0

복사 한 값을 나누기 위해 다른 기능을 살펴 보았습니다. 그러나 클립 보드 텍스트를 분할하는 방법에 집착했지만 여전히 단어로 서식을 병합합니다. – broncos15

+0

단락을 기반으로 코드를 분할하는 방법을 파악할 수 없기 때문에 여전히 인용문에 문제가 있습니다.하지만 적어도 텍스트와 인용문 사이의 단락을 삭제할 수있었습니다. – broncos15

+0

위의 조언의 마지막 단락에 도착한 것으로 보입니다. 그것은 좋은 진전이다. 좋은 충고라고 생각한다면 그것을 받아 들여 따라야합니다. 답변을 "수락 됨"으로 표시하여 동의합니다. 당신은 대답을 줄 수있는 방식으로 새로운 질문을함으로써 그것을 따라갑니다. – Variatus