도움이 필요합니다. vba 단어가 새로워졌습니다.VBA 단어에서 단어를 찾은 후 문자열 삽입
도형 개체가있는 단어 문서가 있습니다. 내가 문자열을 찾아 특정 문자열 뒤에 줄을 추가 할 범위에서 이제
Dim c As Range
Set c = ActiveDocument.Shapes(1).TextFrame.TextRange
: I의 성공은 내가이 줄을 편집 할 필요가 특정 모양을 얻을 수 있습니다.
어떻게하면됩니까?
도움이 필요합니다. vba 단어가 새로워졌습니다.VBA 단어에서 단어를 찾은 후 문자열 삽입
도형 개체가있는 단어 문서가 있습니다. 내가 문자열을 찾아 특정 문자열 뒤에 줄을 추가 할 범위에서 이제
Dim c As Range
Set c = ActiveDocument.Shapes(1).TextFrame.TextRange
: I의 성공은 내가이 줄을 편집 할 필요가 특정 모양을 얻을 수 있습니다.
어떻게하면됩니까?
내가 추가하는 방법을 이해 텍스트 모양,하지만 어떻게 디자인을 변경하지 않고 텍스트를 추가 할 수 있습니다. Darren Bartrup-Cook의 코드를 사용하여 모양 객체의 디자인이 변경되었습니다. 그것이 어떻게 작동하는지
감사
, 탈좋아, 그래서 c
귀하의 모양에 대한 참조를 보유하고 있습니다.
c.Text
을 사용하여 도형의 텍스트를 가져올 수 있습니다.
VBA 키워드 Instr
은 한 문자열의 시작 위치를 다른 문자열의 시작 위치로 반환합니다.
변수가 " DEF "
인 sTextToFind
으로 정의 된 경우 양쪽 단어의 공백을 확인하여 전체 단어를 찾고 lPos
은 해당 문자열의 숫자 위치를 나타냅니다.
lPos = InStr(c, sTextToFind)
은 검색 할 텍스트가 문자열에서 시작되는 위치로 되돌아갑니다.
그런 떨어져 기존 텍스트 분할 LEFT
및 MID
를 사용하여 기존 텍스트로 새로운 텍스트를 삽입 할 수 있습니다
c.Text = Left(c, lPos + Len(sTextToFind) - 1) & "my new text " & Mid(c, lPos + Len(sTextToFind))
를 따라서 업데이트 된 코드 :
'Shape(1) holds "ABC DEF GHI JKL MNO"
Sub Test()
Dim c As Range
Dim lPos As Long
Dim sTextToFind As String
sTextToFind = " DEF "
Set c = ActiveDocument.Shapes(1).TextFrame.TextRange
lPos = InStr(c, sTextToFind) 'Returns position 4 (the space between C & D).
'Returns "ABC DEF my new text GHI JKL MNO"
c.Text = Left(c, lPos + Len(sTextToFind) - 1) & "my new text " & Mid(c, lPos + Len(sTextToFind))
End Sub
안녕 탈은, 불행하게도 그것은 아니다. 너는 너 자신에게 그것을 줄 필요가있다. 당신이 그것에 가서 아직도 그것을 할 수 없다면 당신은 당신이 시도한 것을 보여주기 위해 질문을 업데이트 할 필요가 있습니다. 우리는 기꺼이 도와 드리겠습니다. – CallumDA
제 질문을 편집합니다. 나는 그것이 더 분명하기를 바란다. –