반응형
추가기능 사용방법
- VSTO를 통해 개발한 파워포인트 추가기능이다.
- 기존에 만든 추가기능(링크(새창))를 C#으로 구현한 버전이다.
- 기존보다 속도를 개선하여 고유값(중복되지 않은 값) 개수가 많을 경우에도 사용할 수 있다.
- 설치 방법
- 1) 첨부파일의 압축 파일을 압축 해제한다. (아무 곳이듯 상관 없음)
- 2) setup.exe 파일을 (반드시)관리자 권한으로 실행한다. (마우스 오른쪽 클릭 -> 관리자 권한으로 실행)
- 3) 다음, 설치를 클릭하면 설치가 완료된다.
- 사용 방법
- 1) 빈도수를 산출할 영역 지정
- 2) 루아흐뉴마 추가기능 탭의 FastFrequency 단추 클릭
- ※ 공백("")은 카운트하지만 셀에 아무 값도 없는(null) 경우 999_N/A 결측값으로 처리하였다.
- 삭제하는 방법
- 1) 시작 -> 제어판 -> 프로그램 및 기능
- 2) 설치 날짜를 기준으로 내림차순 정렬
- 3) 설치된 프로그램을 선택하여 제거
추가기능 실행 동영상
메인 코드(언어: C#)
private void button1_Click(object sender, RibbonControlEventArgs e)
{
try
{
Excel.Worksheet curSht = Globals.ThisAddIn.GetActiveSht(); //현재 워크시트
Excel.Range selRng = Globals.ThisAddIn.Application.Selection; //선택범위
List orgList = new List(); //원본 리스트 생성
foreach (Excel.Range tmpRng in selRng)
{
if (tmpRng.Value == null) //셀이 공백("")이 아닌 Nothing이면 결측(N/A) 처리
{
orgList.Add("999_N/A");
}
else //값이 있다면, orgList에 선택영역의 데이터 저장
{
orgList.Add(tmpRng.Value.ToString());
}
}
List uniqList = orgList.Distinct().ToList(); //orgList의 고유값을 uniqList로 반환
Excel.Worksheet rsltSht = Globals.ThisAddIn.Application.Worksheets.Add(After: curSht);
int cnt = 0;
foreach (string u in uniqList)
{
List rsltFreq = orgList.FindAll( //원본과 고유값이 같은 모든 요소를 rsltFreq 리스트로 반환
delegate (string f)
{
return f.Equals(u);
}
);
// 출력 코드
cnt++;
rsltSht.Cells[cnt, 1] = u;
rsltSht.Cells[cnt, 2] = rsltFreq.Count;
rsltFreq.Clear();
}
}
catch (InvalidCastException ex)
{
MessageBox.Show(text: "셀이 아닌 개체를 선택했습니다." + Environment.NewLine + "다시 선택하여 주세요.", caption: "오류", buttons: MessageBoxButtons.OK);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
Copyright (2019) Ruahneuma. All Rights Reserved.
반응형
'MS 추가기능 및 앱 개발' 카테고리의 다른 글
[파워포인트 추가기능 배포] 표 행렬 전환하기 (0) | 2019.08.04 |
---|---|
[파워포인트 추가기능 배포] 지정 슬라이드로 이동하기 (0) | 2019.07.30 |
[엑셀 추가기능 배포] 워크시트별로 분할 저장하기 (0) | 2019.07.15 |
[엑셀 추가기능 배포] 빈도수 빠르게 구하기(중복 카운트) (2) | 2019.06.24 |
[파워포인트 추가기능 배포] 표 셀크기(열) 자동맞춤 VBA (3) | 2018.09.20 |