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
복사 한 값을 나누기 위해 다른 기능을 살펴 보았습니다. 그러나 클립 보드 텍스트를 분할하는 방법에 집착했지만 여전히 단어로 서식을 병합합니다. – broncos15
단락을 기반으로 코드를 분할하는 방법을 파악할 수 없기 때문에 여전히 인용문에 문제가 있습니다.하지만 적어도 텍스트와 인용문 사이의 단락을 삭제할 수있었습니다. – broncos15
위의 조언의 마지막 단락에 도착한 것으로 보입니다. 그것은 좋은 진전이다. 좋은 충고라고 생각한다면 그것을 받아 들여 따라야합니다. 답변을 "수락 됨"으로 표시하여 동의합니다. 당신은 대답을 줄 수있는 방식으로 새로운 질문을함으로써 그것을 따라갑니다. – Variatus