programing

VBA 편집기는 줄 끝에 있는 공백을 자동으로 삭제합니다.

stoneblock 2023. 7. 3. 22:31

VBA 편집기는 줄 끝에 있는 공백을 자동으로 삭제합니다.

엑셀의 VBA 편집자에게 내가 타이핑을 0.25초 동안 일시 중지할 때 마지막에 공백을 제거하기 위해 줄 자동 포맷을 중지하도록 설득할 수 있는 방법이 있습니까?

저는 이 정확한 문제를 가지고 있었고 다음과 같은 것들이 저에게 효과가 있었습니다.

  1. Microsoft Office 단추를 클릭한 다음 Excel 옵션을 클릭합니다.
  2. 추가 기능 카테고리를 클릭합니다.
  3. 관리 상자에서 COM 추가 기능을 클릭한 다음 이동을 클릭합니다.
  4. 'Load Test Report AddIn'이라는 추가 기능을 찾은 다음 선택을 취소합니다.
  5. 엑셀을 다시 시작합니다.

이 addin은 VS2010 베타2와 함께 설치됩니다.

Excel 2010에서는 개발자 리본 의 디자인 모드 버튼을 전환하면 문제가 해결됩니다.

저는 이전에도 분명히 그런 문제가 있었는데, vba 편집기가 제가 타이핑할 때 포맷을 했습니다(다른 줄로 이동할 때뿐만 아니라).제게는 열린 워크북에 있는 Microsoft 웹 브라우저 컨트롤과 관련이 있는 것 같았습니다.웹 브라우저를 꺼내자 VBA 편집기가 다시 정상적으로 작동하기 시작했습니다.그게 왜 효과가 있었는지는 모르겠지만, 효과가 있었습니다.이제 워크북에서 이 컨트롤을 사용하는 것을 피합니다.

사용자가 VBA 편집기에 있는 동안 스프레드시트가 다시 계산되어 코드가 '컴파일'되어 공백이 제거됩니다.편집하는 동안 셀 재계산을 중지해야 합니다.스프레드시트에서 계산을 수동으로 전환합니다.도구 > 옵션 > 계산이 요령을 부려야 합니다.

저는 DDE 연결 덕분에 세포가 재계산되었을 때 이것을 깨달았습니다.

VBA 편집기에서 자동 "수정"을 끄는 방법이 있습니다.

Tools 메뉴 ->Options->Editor탭 - -> 제를 .Auto Syntax Check 모양의

안타깝게도, VBA 편집기는 좋든 나쁘든 스스로의 생각을 갖는 경향이 있기 때문에 이것이 모든 문제를 해결하지는 못할 것입니다.

vba2003에서 디자인 모드에서 해제하면 매번 수정됩니다. 처음에는 미칠 것 같았습니다. 웹 컨트롤과 관련이 있을 수 있다는 것을 알았지만 디자인 모드에서 해제하면 잘 작동합니다.그냥 그것을 행동하게 하기 위해 전환하세요 :)

저는 최근에 이런 문제를 여러 번 겪었고, 저를 미치게 했습니다.

이 게시물을 읽은 후 언급된 모든 다른 수정 사항(아무 것도 작동하지 않음)을 읽고 최근에 인터넷 익스플로러 컨트롤을 사용하여 VBA에서 인터넷 익스플로러를 열고 있었던 것을 떠올렸습니다.

이것은 이 게시물의 일부 답변에 언급되어 있습니다.

이것은 저를 올바른 길로 이끌었고, 그것을 고치기 위해, 저는 먼저 탐색하는 모든 것을 삭제해야 했습니다.exe 인스턴스(alt+control+delete), Excel을 닫고 Excel을 다시 엽니다.(나는 탐구합니다.exe는 VBA 코드에서 보이지 않게 열렸고, 나는 그들이 실행되고 있는지 몰랐습니다.)

그것이 버그를 고쳤습니다.

저는 4년 넘게 VBA로 꽤 많은 프로그래밍을 해왔지만, 이런 문제가 발생한 적은 없었습니다.

몇 주 전에 IE 제어를 사용하기 시작했고, 이 문제가 발생하기 시작했습니다.그래서 제 경우에는 버그가 IE 제어와 직접적인 관련이 있다고 가정할 수밖에 없습니다.

같은 PC에서 엑셀 2003과 2007을 동시에 실행하고 있는데 엑셀 2007에서만 문제가 발생합니다.

나는 위의 것들 중 하나도 없습니다.는 는나가 .Application.OnTime매초마다 울리는 타이머와 이것은 무언가에 대한 재계산을 촉발했습니다: 코멘트를 하는 것이 나의 하루를 만들었습니다.

액세스 2007 양식에 타이머 이벤트를 추가한 후 최근에 이러한 현상이 발생하기 시작했습니다.VB 편집기는 이벤트가 발생할 때마다 현재 줄을 "최종화"합니다(예: 문에서 커서를 이동한 것처럼; 자동 구문 체크오프가 있습니다). 처음에는 1초로 설정했지만 이제는 5초로 설정되고 그에 따라 동작이 조정됩니다.이벤트 코드가 실행되려면 응용 프로그램이 컴파일되었는지 확인해야 합니다.모듈 간의 코드 종속성을 확인해야 하므로 편집기가 이 작업을 수행하려면 "제정신" 상태에 있어야 합니다.이 동작은 종속 코드가 실제로 편집기에 로드되었는지 여부에 관계없이 발생합니다.또한 실행 상태를 재설정해도 타이머 이벤트 발생에 영향을 주지 않습니다.실제로는 트리거 양식을 닫거나, 디자인 뷰로 전환하거나, 트리거된 코드에 중단점을 설정하거나, 편집기로 작업하는 동안 타이머 간격을 늘릴 수 있습니다.

Abhishek의 설명과 달리 도구/옵션 설정 변경.../General/Compile On Demand 및/또는 Background Compile은 문제에 영향을 주지 않았습니다.

도움이 된다면, 이전의 어떤 대답도 나의 것을 해결하지 못했습니다.유일한 해결책은 xls 파일을 닫고 다시 여는 것으로 나타났습니다.30분마다 해야 하는 것이 답답하지만 적어도 효과는 있습니다.텍스트를 다시 컴파일하고 정리하는 이유를 알고 싶습니다.텍스트 정리를 비활성화하는 옵션이 되어야 하지만 찾을 수 없습니다.

끄다Tools > Options > General > Background Compile이것으로 해결되었습니다.

이것은 다양한 원인을 가질 수 있는 오래된 문제입니다.액세스 VBE에서 동일한 문제가 발생했습니다(자연스럽게 Excel 답변은 관련이 없음).많은 발굴을 한 후에 저는 마침내 아래의 해결책으로 그것을 고쳤습니다.하지만 먼저 요약하자면:

Excel의 이 문제로 인해 여기에 오신 경우 위의 솔루션을 먼저 사용해 보십시오.요약:

  • Excel에서 가장 일반적인 문제는 디자인 버튼이 토글된다는 것입니다.그것을 전환하고 위의 드미트리 프렌켈이 제출한 대로 동작이 변경되는지 확인합니다.
  • 그래도 안 되면 Ade가 언급한 "Load Test Report" AddIn을 확인합니다.

Excel에서는 이러한 두 가지 주요 원인이 있지만, 두 솔루션 모두 작동하지 않는 경우 여기에서 나머지 솔루션을 스크롤합니다.모두 원인에 대한 유효한 가능성입니다.액세스에서 원인은 매우 간단합니다.어딘가에 있는 양식의 타이머 문제입니다.는 여기서 사용자 K에 의해 이 솔루션을 찾았습니다.설리번.

  • 다음 줄의 코드를 클립보드에 복사합니다. (뉴스 판독기에 따라 먼저 텍스트 편집기에 붙여넣고 한 줄에 강제로 붙여넣어야 할 수도 있습니다.한 줄이어야 합니다.)

    i = 0인 경우 - 폼.카운트 -1: 디버그.양식 인쇄(i).이름, 양식(i).타이머 간격: Next i

  • 액세스로 전환합니다.

  • Ctrl-G를 눌러 즉시 창으로 이동합니다.

  • Ctrl-V를 눌러 코드에 붙여넣습니다.

  • Enter 키를 눌러 코드를 실행합니다.열려 있는 모든 양식이 나열됩니다.타이머 간격이 0이 아닌 경우가 원인입니다.해당 양식을 닫기만 하면 됩니다(당신이 처리하고 있다고 생각한 프로세스가 아닌 다른 프로세스에서 보이지 않게 열려 있을 수 있습니다).

여기서 액세스를 위한 솔루션은 사용자 돔이 위에서 말하려고 했던 것이라고 생각합니다.OG 이슈가 Excel에 있을 때, 그것이 잘 설명되지 않았기 때문이거나 그가 Access에 대해 이야기하고 있었기 때문이라고 생각합니다.그럼에도 불구하고, VBE in Access 때문에 당신이 여기에 있다면 그는 문제를 해결할 가능성이 높습니다.

이것이 사람들에게 도움이 되길 바랍니다.이 문제를 조사할 때 이 페이지를 계속 찾았기 때문에 여기서 이 솔루션을 업데이트해야겠다고 생각했습니다.

오늘 Excel 2010 베타 2를 새로 설치할 때 이 문제가 발생했습니다.위의 내용 중 어느 것도 차이가 없었지만, 트러스트 센터에 들어가 모든 애플리케이션 추가 기능을 비활성화하면 문제가 해결되었습니다.

저는 Office 2010 Pro를 가지고 있고 같은 문제가 있었습니다.제가 입력할 때 각 단어 사이의 공백이 삭제되고 있었습니다. 방법을 해 본 , 할 수 은 각 을 옵 켜 끄 방 을 사 해 용 수 있 유 는 한 일 할 방 법 은 사 용 과 결 션 본 고 법 는 ▁after ▁the 한 방 법 은 ▁to 일 ▁turning ▁way ▁disable 유 ▁was ▁and ▁on ▁off 각 ▁i ▁working▁options▁them▁only사▁the▁each는▁foundWinzip Courie(excel) add-in이 작업은 옵션 대화 상자 추가 섹션을 통해 수행됩니다.

Office 365에서도 동일한 문제가 있었습니다. 다른 이름으로 파일을 저장한 후 새 파일을 다시 열었을 때 문제가 사라졌습니다.

자동 저장을 설정했을 때 이 문제가 발생하는 것을 발견했습니다.그것을 끄면 매초 컴파일하지 않고 코딩할 수 있습니다.

제가 타이핑을 멈추었을 때 VBE가 공백을 제거하는 것을 본 적이 없는 것 같습니다.다른 줄로 이동하면 줄에서 줄 바꿈 공간이 제거됩니다. 하지만 그것은 제가 생각하기에 변경될 수 있는 행동이 아닌 다른 것입니다.

접근을 위한 VBA 편집기의 공백 제거는 양식이 양식("실행") 모드에서 열려 있을 때 발생합니다.이는 "On Timer" 메서드에 기반한 백그라운드 실행 때문일 수 있습니다.액세스에서 양식을 닫으면 VBA의 문제가 해결됩니다.

언급URL : https://stackoverflow.com/questions/1164138/vba-editor-auto-deletes-spaces-at-the-ends-of-lines