최신버전을 다운 받으세요.http://vsto.tistory.com/330

 

현재 테스트가 거의 완료 되가고 있다....좀 더 편하게 해줄 기능이 있을까??

* 엑셀 자동완성, 사진대지, 특수문자표등는 전에 올린 문서를 확인해주세요..

**2번 대량 메일 같은 경우는 처음 세팅이 필요하다.(다음 배포때 세팅방법 설명예정.)

1. 일괄 사진 넣기.
가. 이미지를 넣을 셀을 클릭 한다.
나. 일괄이미지 넣기를 클릭한다.
다. 폴더를 선택한다.
라. 알아서 이미지를 차례 차례 넣어줌.
(가장 왼쪽셀에 값이 있을 경우 이미지 넣은 후 이미지 정렬 가능)

2. 엑셀 대량 메일 보내기.(엑셀 HTML 메일 보내기)
가. 목록 리스트를 작성한다.
나. 아래링크와 같이 간단한 문서를 만든다.

 ex) http://vsto.tistory.com/133 참고
- 간단하게 Vlookup만 알면 대량 메일 발송 가능
- Vlookup함수를 쓰는 이유로 가장 쉽게 쓸수 있는 함수이며 메일 받는 사람마다 내용이 다르다는 가정을 하고 만들어 졌다.
- 함수에 인덱스 값만 바꿔주면서 원하는 시작번호에서 ~끝 번호 에 해당하는 사람들에게 메일을 보낸다.
다. 아웃룩 세팅을 한다.
라. 프로그램이 원하는 이름정의를 한번 해준다.
마. 시작번호와 끝번호를 지정 후 메일보내기를 누른다.

3. 일괄 조정(셀맞춤)
- 이 기능은 다시 셀 크기에 맞게 이미지를 자동 리사이징 해준다.

이제 실행 동영상을 한번 보시고...맘에 드시면 아래 손가락 꾸욱 눌러주세요^^



저작자 표시 비영리 변경 금지
신고
Posted by VSTO
최신버전을 다운 받으세요.http://vsto.tistory.com/330

다음 버전 예정인 것

1. 엑셀 대량 메일 보내기(자동) : 사용자가 원하는 양식으로 메일 받는 사람들의 고유 값들로 변경 후 대량 메일 발송
참고 : http://vsto.tistory.com/245의 한단계 업된 방식으로 서식을 지정하면 자동 발송.(HTML만들 필요 없음)
(1번은 VBA로 쉬운 방법인데 요청을 해주신 부분이라 HTML메일 보내기로 만듬 : 완료)

2. 전체 이미지 이미지 크기를 다시 셀 크기에 맞추거나 , 전체 이미지 크기를 일괄 변경 (완료)

3. 자동완성 후 마지막셀에 사용자 입력값을 자동으로 입력 하는 방법..
- 언젠가 한번 넣었다가 뺀 기능인데...요청한 기능이라서 어떻게 하면 더 편하게 할까 고민중...

넣을까 말까 고민중..(댓글 달아주시는 분들 있음 넣고 아님 안넣을 기능...)
4. 중소기업을 위한 엑셀 공지사항 기능(블로그 연동)
참고 : http://vsto.tistory.com/246

5. 엑셀로 파일이름 관리프로그램(엑셀 기능을 조금 활용하여 파일 이름 관리하기..)
참고 : http://vsto.tistory.com/194 

댓글이나 아래 손가락 추천 버튼을 꾸욱 눌러주시면 업데이트 속도 더 빨라집니다.
**추가 원하는 기능 말씀 해주시면 애드인에 계속 추가 될 것입니다.

 애드인 배포를 합니다..(엑셀 2007만 가능합니다.)

애드인이란??
- 사용자가 엑셀에서 추가로 필요하다 싶은 기능들을 엑셀 메뉴외의 기능들을 아래 그림과 같이 추가 한 것입니다.


 


설치 파일 :

VSTO.exe

 


 설치하기 :
1. 파일을 더블클릭하면 c:\vsto폴더가 생깁니다.
2. c:\vsto폴더에서 setup을 누르면 엑셀 2007메뉴에 위의 그림과 같이 추가기능이 생깁니다.


 다운을 받으시면서 댓글이나 뷰추천 한번 해주세요^^..(편하신 것으로요..)
 - 어느정도 사용하는지 좀 보고 싶거든요..

일반 설명서 

 


1. 이미지불러오기, 이미지보기, 이미지정렬

가. 이미지 불러오기 : 체크가 되어 있을 경우에만 아래와 같이 이미지그림들을 로드 할 수 있습니다.
(이미 이미지들이 로드 되어 있을 경우는 체크 해제후 이미지 보기를 누르면 됩니다.)

나. 이미지 보기 : 불러온 이미지 창을 보여주거나 닫습니다.
(이미지 불러오기가 체크 되어 있을 경우에는 이미지 폴더를 지정후 불러올 수 있습니다.)

다. 이미지 정렬 : 제가 배포한 애드인 툴러 이미지를 추가 했을 경우에 이미지 정렬을 누르면 이미지 포함 정렬이 됩니다.
- 기능에 대해서 한번 테스트 후 실무에 쓰세요...(기능 이해를 위해)
- Tip) 이미지정렬은 단순하게 이미지가 있는 셀의 가장 왼쪽 셀에 입력된 값을 그림이름으로 지정하여 이미지를 정렬하게 해주었습니다.

1-1. 이미지 삽입하기.

 


가. 1번에서 설명한 이미지 불러오기를 할 경우 위의 그림과 같이 사진들을 볼 수 있다.

나. 원하는 사진을 더블클릭하면 셀에 사진이 입력된다.
- 이미지 정렬 가능 : 가장 왼쪽 셀에 값이 있다.
- 이미지 정렬 불가 : 가장 왼쪽 셀에 값이 없다.( 정렬전 클릭, 정렬후 클릭으로 정렬 가능)

 



2. 정렬전 클릭, 정렬후 클릭
- 사용자가 이미지를 직접 추가 했거나 vba로 추가 했을 경우 사용

가. 정렬전 클릭 : 사진에 고유번호를 부여 합니다.(역시 이미지정렬과 같은 방식입니다.)

나. 정렬후 클릭 : 이미지를 정렬 해준다.
- !!!!꼭 정렬전 클릭을 눌러 id를 부여 해야 합니다.
- 엑셀 기능으로 데이터 정렬 후  -> 정렬 후 클릭을 누르면 이미지 정렬이 됩니다.(동영상 참고)

3. 특수문자표
- 특수문자 사용법 : http://vsto.tistory.com/entry/엑셀자동완성-18버전엑셀-자동완성-엑셀-특수문자표엑셀문자

4. 자동완성
- 워낙 오래전에 배포한 기능이라 동영상버전만 올립니다.
- 기능 문의는 게시판이나 방명록에 부탁드려요..

동영상 설명서 

1. 이미지 추가 및 정렬



2. 사용자가 vba나 엑셀에서 직접 그림추가로 했을 경우.



3. 자동완성과 특수문자표 사용 동영상
- 특수문자 사용법 : http://vsto.tistory.com/entry/엑셀자동완성-18버전엑셀-자동완성-엑셀-특수문자표엑셀문자



저작자 표시 비영리 변경 금지
신고
Posted by VSTO
최신버전을 다운 받으세요.http://vsto.tistory.com/330

다 만들고 현재 버그있나 테스트 중이다...

필요 하신 분들은 다음주 정도에 배포 예정입니다..

 


조금 더 필요하다 싶으신 것들은 댓글 좀 부탁드려요..

1. 엑셀 사진대지(입력후 정렬가능) - 사진대지에 많이 쓴다해서 사진대지라고 함..ㅋㅋㅋ 

 


동영상



2. 사용자가 추가한 엑셀 이미지정렬
- 이미 사용자가 다른 툴이나 직접 이미지를 삽입 했을 경우 사진까지 정렬을 하고 싶을때 쓴다.
- 1번과 비슷한데 그냥 내가 만든 기능으로 하는 것과 사용자가 추가한 사진 정렬을 분류하고 싶어서 분류 해놨다..
(2번의 기능이 더 확장된 개념임...)

 


동영상

 



3. 자동완성과 특수문자표는 자동완성배포 카테고리를 보시면 됩니다.

괜찮다 싶으시면 뷰추천 이나 댓글 부탁드려요
(이 기능이 별로 필요없는데 만드는 거 아닌가 하는 기분이 들어서요^^;)
저작자 표시 비영리 변경 금지
신고
Posted by VSTO

-추후 Addin으로 기능 업해서..배포예정
-혹시 제가 만든 기능들 쓰시는 분들은 고칠 부분이나 추가되야 할 부분 이야기좀 해주세요..


오래전 막 VBA를 시작하고...

엑셀 폴더에 있는 파일을 뿌려주는 vba를 봤었다...얼마나 신기했던지...

이 기능이 없었음 아마 몇시간을..파일이름들을 보며 직접 치고 있었을 것이다..

이렇게 간단한 기능에..한가지 추가해서 이왕 이름까지 바꿔보자...
(지금 파일이름을 정리할 일이 있어서..)

그냥 이 기능만으로 만족하시고 쓰실수 있겠다 싶으신 분은 엑셀실행파일을 다운 하시고..

VSTO공부중이신 분은 소스파일을 다운 받으셔서 보면 됩니다.

엑셀실행파일 : 압축을 풀고 SetUp파일 실행 후 안에 있는 엑셀파일 실행시키면 됩니다.

소스파일 :



실행화면 1]폴더 가져오고 엑셀의 간단한 기능을 이용해서 변경파일 이름을 지정해준다.

실행화면 2]엑셀 기능을 사용해서 채우기..

실행화면 3] 파일 변환 누른후 화면

엑셀로 파일이름 관리를 할 경우 이점.
1. 간단한 함수 및  기능으로 원하는 이름으로 완변하게 변경을 할 수 있다..
2. 엑셀 파일 이름을 정리할 때 한번에 엑셀에 정리해주니 활용도가 높다..

이제 간단하게 파일관리기를 만들어 보자..

1. 아래와 같이 시트1에 간단한 모양을 만든다.


2. 작업을 할 요구사항을 몇개 적어보겠다..
- 간단히 VSTO하는 방법을 알려주는 거라..거창하게 이것저것 기능 안넣겠음)
- 이 기능만으로도 원하는 작업은 다 할 수 있을 것이며.. 추후에 Addin에 이 기능을 포함시킬것이다..

 가. 원본 파일명만 나오게 하기.(폴더 경로까지 나오면 너무 지저분하고 이름 바꾸기도 힘들다.)
 나. A5셀부터 파일명과 확장자명을 뿌려준다.
 다. B5셀부터 변경할 파일이름을 사용자가 적어서 변경할 수 있게 해준다.
 라. C5셀부터 변경여부를 표시해준다.

3. 폴더의 파일을 가져오기 해보자..

         private void btnGetFolder_Click(object sender, EventArgs e)
        {
            FolderBrowserDialog fld = new FolderBrowserDialog();
            this.Range["a1", missing].Value2 = "VSTO.Tistory.com";
            if (Convert.ToInt32(fld.ShowDialog()) == 1)
            {
                this.Range["b3", missing].Value2 = fld.SelectedPath;
                int i = 5;

                foreach (string c in Directory.GetFiles(fld.SelectedPath))
                {
                    this.Range["a" + i, missing].Value2 = c.Substring(c.LastIndexOf('\\') + 1);
                    i++;
                }
            }
        }


- if (Convert.ToInt32(fld.ShowDialog()) == 1) (선택한 폴더가 있을 경우에는)

- int i = 5; (A5셀부터 입력 할 것이므로)

- this.Range["b3", missing].Value2 = fld.SelectedPath;  (B3셀에 폴더경로를 넣어준다)

- foreach (string c in Directory.GetFiles(fld.SelectedPath)) (폴더경로의 파일이름들을 하나씩 c 에 넣는다)

- this.Range["a" + i, missing].Value2 = c.Substring(c.LastIndexOf('\\') + 1);  (아래 참고 확인)

- 그리고 다음 row로 이동을 하기 위해서 +1을 해준다.

참고

 
c의 값이  c:\test\1.txt라고 가정해보자..

우선 1.txt를 빼기 위해서는 뒤에서부터 \의 위치를 잡아줘야 한다..

그러기 위해서 우선 LastIndexOf('\\')로 위치를 잡아주고  \는 필요 없기 때문에 +1을 해준다.

1. LastIndexOf('\\')만 해줬을 경우 값 : 7(0부터 시작하므로)
2. SubString(7)로 했을 경우 아래와 같이 \1.txt가 나온다. (0~6까지 지우고 7번째를 뜻함.)
3. +1을 해줬을 경우 : \도 지워지기 때문에

1~3번까지를 더해주면 c.Substring(c.LastIndexOf('\\') + 1)와 같이 된다.
뭐 엑셀에서는 중첩함수들은 기본이니....중첩함수로 생각하시면 될듯..


4. 이젠 이름 바꾸기 코딩을 해보자.
             int i = 5;
            string filepath = this.Range["A1", missing].Text.ToString();
            while (this.Range["A" + i, missing].Value2 != null)
            {
                if (filepath != null)
                {
                    FileInfo fName = new FileInfo(filepath + "\\" + this.Range["A" + i, missing].Text.ToString());
                    if (fName.Exists && this.Range["B" + i, missing].Text.ToString().Length > 0)
                    {
                        fName.MoveTo(filepath + "\\" + this.Range["B" + i, missing].Text.ToString());
                        this.Range["C" + i, missing].Value2 = "성공";
                    }
                    else
                    {
                        this.Range["C" + i, missing].Value2 = "실패";
                    }
                }
                i++;
            }

- 이번에는 While 조건문을 바꿧다.. A셀에 값이 없을때까지 B셀에 값을 넣어준다.

- if (filepath != null) 폴더경로가 있어야지 실행이 되게 한다

- FileInfo fName = new FileInfo(filepath + "\\" + this.Range["A" + i, missing].Text.ToString());
(파일 이동을 위해..FileInfo클래스를 사용해서 다시 폴더경로와 파일이름을 더해준다.)

- if (fName.Exists && this.Range["B" + i, missing].Text.ToString().Length > 0)
(fname.Exists로 파일이 있는지 확인 하고 바꿀 이름인 B셀의 텍스트 길이가 0보다 크면 조건문을 실행하게 한다)

- 조건이 참이면 MoveTo를 이용해서 이름을 바꿔주고 C셀에는 "성공"이라고 넣어준다.

- false이면 실패라고 넣어준다.

저작자 표시 비영리 변경 금지
신고
Posted by VSTO

엑셀 자동완성 기능 동영상...

제가 만든 기능에 엑셀기능을 더하면 상당한 업무시간 단축이 될거라 생각됩니다.

엑셀 자동완성 다운로드 : http://vsto.tistory.com/84

엑셀 자동완성 설명서 :  http://vsto.tistory.com/85

엑셀 자동완성 기타 참조(옛버전) : http://vsto.tistory.com/entry/엑셀-자동완성으로-업무의-달인이-되어-보자

고화질: 더블클릭시 안깨지고 보실 수 있습니다.






저작자 표시 비영리 변경 금지
신고
Posted by VSTO

엑셀 자동완성 파일 :


-------------------------------------------------------------------------------------------------
제가 테스트 컴퓨터가 두대밖에 없어서 설치는 두대밖에 못해봤습니다..

혹시 설치 안되시는 분들 말씀 부탁드려요..참고로 엑셀 2007버전입니다...
-------------------------------------------------------------------------------------------------

- 엑셀 자동완성 동영상 : http://vsto.tistory.com/86

- 엑셀 자동완성 설명서 : http://vsto.tistory.com/85

- 기타 참고 페이지.. : http://vsto.tistory.com/entry/엑셀-자동완성으로-업무의-달인이-되어-보자

-------주의사항---------------
*Sheet1의 A셀에서만 셀 자동완성 실행됨.
*Sheet1이름 변경하시면 안됩니다..
----------------------------------------------------------------


가. 엑셀자동완성 달라진점..


- 유저작업창을 왔다갔다 안하면서 이제는 시트에서 작업이 가능


- DB목록을 보고 더블클릭으로 추가하기.


- 자동완성박스를 사용자가 변경할 수 있게 수정..

- 기타오류 수정.

나. 엑셀자동완성 전보전보다 나뻐진점

- 한번 불러오면 엑셀 끝낼때까진 다시 DB로드를 못함.
(다음 버전에서 제공....어려운건 아닌데...오늘까지 배포하고...다른 밀린일을 하고 나중에 수정할려고 함..)

- A셀에서 값 입력 없이 이동할 때 약간의 문제점...(이부분은 설명서 참조)

- 다른건 없는듯..

다. 다음 버전 업데이트 예정

- 시트 변경 가능하게.

- 엑셀 자동완성에서 불러올 시트를 편집 안해도 되게..
ex)자동완성에 필요한 셀들만 엑셀 파일을 수정하고 저장해야 했으나.
이제는 자동완성에 쓰이는 파일을 열어보지 않고 현재 시트에서 원하는 셀들 선택해서 출력 가능하게.

- 모든 시트에서 셀 자동완성 가능하게.

- 생각중...~~~


주절주절

전에 만든 기능은 유저창에서 왔다갔다 하는게 좀 불편하더라...^^;

사용해보시는 분들이 아무 말씀 없으시면 한동안 추가기능 안만들듯....

사용하시는 분들이 말씀 많이 해주시면...업데이트 속도 빨라짐...ㅋㅋㅋㅋ

엑셀 자동완성으로  많은 분들이 업무시간을 단축시키시길...

안되는 부분은 댓글 부탁드립니다..

(최대한 이것저것 테스트 했는데... 저한테는 아무 문제 없음...-,.-)

-----------------------------------------------------------------------------------------

저작자 표시 비영리 변경 금지
신고
Posted by VSTO