2017-01-31 6 views
3

에 첫 번째 VBA 추가 기능을 작성했습니다. 을 사용하여 Microsoft Office Word 2007을 Windows 7 Pro/64으로 작성했습니다. 이 추가 기능의 일부는 사용자 양식입니다. 워드에서 실행은 Visual Basic 편집기를 사용하여, 내가보기의 두 가지 방법, 및 사용자 정의 폼의 속성을 수정하는 두 가지 방법이있다 찾을 : 개체 브라우저에서어떻게 포괄적으로 내 VBA 사용자 정의 폼의 속성을 관리 할 수 ​​있습니까?

  1. 보기 모든 속성을 (F2는)
  2. 보기 일부 속성과 속성 창 (F4)
  3. 에서 그들을 편집

    Visual Basic Editor

    I 찾기 문제가 있다는 것입니다 :

  4. 수동으로 입력하고 코드 창에서 모든 속성을 편집 (F7) 여기

내 등록 및 코드 윈도우의 스크린 샷입니다 속성 창 하위 폼 UserForm 속성 중 하나만 포함되어 있습니다 (고시 CanPaste, CanRedoCanUndo코드 창에서 실행, Me.Caption에서 코드 창 (예를 들면의 변경에 의해 위를 무시 무시하는 속성), 그리고 속성 창에서 만든 변경에 표시되지 않습니다 Caption 필드의 속성).

나는 속성을 전혀 사용하지 말아야한다고 가정하고 위에 표시된대로 UserForm_Initialize을 통해 모든 설정을 입력하십시오. 그러나 (a) 일부 설정의 경우 속성은 한 번에 여러 설정을합니다. 예를 들어 속성 인에서 Verdana Bold를 선택하면 Font = VerdanaFont.Bold = True코드입니다. 그리고 (b)는 것 같습니다 속성 그것의 선택의 기본값으로 제어 속성의 하위 집합을 설정하고 내가 그들을 변경하면 나는 그들이 밖으로 시작 볼 수 없습니다.

따라서 위에서 언급 한 기본 설정을 포함하여 모든 사용자 정의 폼의 속성에 대한 통합되고 포괄적 인 액세스가 필요합니다. 누구든지 코드로 UserForm의 기본 설정을 공개하거나 모두 코드 창의 현재 설정을 자동으로 열어주는 방법을 알고 있습니까? 내가 모르는 우산 메커니즘이 있습니까?

나는 베테랑 VBA 프로그래머가 아니지만 내 경험이 독특하다는 것을 믿을 수 없습니다. 나는 해결책을 찾는데 그물을 찾았다. 이 딜레마를 더 많은 경험을 통해 어떻게 관리합니까?

답변

4

속성 창을 사용하여 모양을 모양으로 설정하고 디자인 시간을으로 설정합니다. 그런 다음 해당 속성 값은 항상 을 적용하며 런타임에 VBA 코드를 사용하여 명시 적으로 변경하지 않는 한 해당 속성 값이 적용됩니다. 같은 CanPasteCanRedo 같은 외모에 관련이없는

속성, 런타임에서 양식의 상태 관련, 그래서 디자인 타임에 그들을 설정이 이해가되지 않습니다.

Initialize 이벤트 또는 다른 위치에 관계없이 거의 모든 속성을 런타임에 변경할 수 있습니다. 런타임에 컨트롤을 추가 할 수도 있지만 폼의 인스턴스가 종료되면 변경 내용이 유지되지 않습니다.

+0

답변을 주셔서 감사 드리며 양식의 속성을 관리하는 데 도움이되었습니다. 그러나 Enabled, DrawBuffer, Cycle, KeepScrollBarsVisible과 같은 일부 속성은 속성 창에 표시되지만 말 그대로 엄격하게 모양과 관련되지는 않습니다. 그리고 'VerticalScrollbarSide'와 같은 외양 관련 속성이 속성 창에서 누락되었습니다. 그럼에도 불구하고 나는 아무 것도 없다는 것을 의미하는 더 나은 해결책에 대해 침묵 (지금까지)을 취한다. 나는 며칠 더 기다릴 것이고, 다른 대답이 없다면 이것을 SO의 합의로 받아 들일 것이다. –