분류 전체보기 63

엑셀 리본바의 버튼 컨트롤 상태(Pressed, Visible) 관리하기

엑셀 리본바의 컨트롤(버튼, 토글버튼 등)의 상태를 관리하는 방법을 설명한다. 즉, 토글버튼이 눌려져 있게 하거나 보이지 않게 한다거나 여러가지 상태를 관리하는 방법이다. 기본적으로 custom IRibbonUI의 작성은 customUI.xml 파일의 작성을 통해 만들 수 있다. 아래 글을 참조해서 엑셀 상단에 나만의 리본바를 추가할 수 있다. 엑셀의 리본바를 마음대로 변경해 보자 어떤 엑셀 프로그램은 기본 리본바가 아닌 다양한 형태의 리본바를 가지고 있는 엑셀파일들이 존재한다. 사용자리본정의를 통해 만들어진 것은 모든 엑셀파일을 열때 동일하게 적용이 되는데, juhpark.tistory.com 위와 같은 리본바를 만들었다고 가정했을 때, 토글버튼의 눌려진 상태 관리 토글버튼의 눌려진 상태 관리를 위해서..

ExcelGantt v1.35 엑셀 간트차트(Excel Gantt Chart, WBS)

ExcelGantt 개발 (WBS)Gantt Chart로 일정관리를 하는 것이 체계적이고 좋을 거라는 막연한 생각에 다양한 Gantt 프로그램 인터넷에서 찾아 보게 되었다. 그중에 XLGantt 프로그램은 정말 환상적인 기능들을 제공하였다. 조금 사용 해보았으나 문제는 내 컴퓨터에서는 너무도 느리게 동작을 한다는 것이다. 그리고 출력할 때 간트 그래프 사이즈 조정이 너무 함들었다. 여러 고민을 한 끝에 나만의 ExcelGantt 프로그램을 만들어 보기로 결심하였다. 엑셀의 VBS에 대해 새로 배워서 해야 할 부분이 많았기에 시간도 많이 걸리고 손도 많이 가는 작업이라는 것을 알게 되었지만 조금씩 배워가며 기능을 추가하는 것이 나름 재미 있었다. 처음에는 그래프 그리는 것도 너무 힘들었지만 점점 완성되어는..

엑셀의 원하는 sheet를 변수에 담기

VBA프로그램에서 원하는 엑셀의 Worksheet를 변수에 담고 싶은 생각이 든다. 해당 변수를 참조해서 데이터도 변경하고 여러가지 작업이 가능하기 때문이다.Worksheets로 For 루프를 돌려서 원하는 [시트명]을 찾으면 sht 변수에 저장하는 예제이다. 객체를 저장할 때는 반드시 Set 명령어를 사용해야 한다.Dim sht As WorksheetDim tgt_sht As Worksheet' 대상시트 찾기For Each sht In Worksheets If StrComp(sht.Name, "[시트명]") = 0 Then Set tgt_sht = sht End IfNext sht 손쉽게 접근하는 방법Worksheets(1) ' 첫번째 시트 선택Worksheet..

엑셀의 리본바를 마음대로 변경해 보자

어떤 엑셀 프로그램은 기본 리본바가 아닌 다양한 형태의 리본바를 가지고 있는 엑셀파일들이 존재한다. 사용자리본정의를 통해 만들어진 것은 모든 엑셀파일을 열때 동일하게 적용이 되는데, 이런 방식말고 내가 만든 특정 엑셀 파일에만 별도의 리본바가 보이도록 엑셀 파일을 만들고 싶었다. 열심히 구글링 해서 찾은 것이 다음의 웹사이트이다.https://www.macexcel.com/examples/ribbonpages/ Ribbon Pages | Mac Excel AutomationRibbon pages for Mac Excelmacexcel.com  이 방식은 압축되어 있는 엑셀파일 안에 customUI14.xml를 편집하여 저장을 하면 리본바를 원하는 형태로 변경할 수 있다. 엑셀파일의 customUI14.x..

엑셀의 개발자 도구 사용해보기

엑셀에는 개발도구 기능이 있다. 이 기능을 잘 활용하면 Visual Basic 프로그래밍을 사용하여 실제 업무에 필요한 어떠한 프로그램도 만들수 있는 막강한 기능을 제공한다. 개발 도구는 파일 > 옵션 > 사용자 리본 지정 화면에서 개발 도구에 체크하면 상단 리본에 메뉴가 보이게 되고 제일 처음 있는 Visual Basic 버튼을 눌러 실행이 가능하다. Visual Basic 버튼을 클릭하면 아래와 같은 창이 뜬다. 이 프로그램을 사용해서 엑셀의 거의 모든 기능을 제어할 수 있다. 신기하다. 지금부터는 엑셀 VBA프로그래밍을 활용해서 업무에 도움이 될만한 것을 만들어 보고자 한다.

Flask 웹사이트 구축 - 7. MySQL환경설정과 사용자 테이블 생성

[1] 구름IDE 설치된 mysql 서버를 기동 # 시작 service mysql start # 종료 service mysql stop [2] root계정으로 접속 후, root 계정의 패스워드를 변경한다. # mysql 접속 (초기 접속시에는 패스워드 입력 없이 접속됨) mysql -u root -p # mysql 관리 DB를 선택한다. use mysql # root 패스워드를 변경 UPDATE user SET authentication_string = password('비밀번호') WHERE User = 'root'; FLUSH PRIVILEGES; # 새로운 세팅 적용 [3] 데이터 베이스 생성 # DB 생성 (한글이 안깨지게 하려면.. utf8 필요) CREATE DATABASE [데이터베이스 이..

Programming/Python 2022.08.31

Flask 웹사이트 구축 - 6. 템플릿과 스타일시트 추가하기

지금까지 진행된 소스로 실행을 하고 웹사이트를 호출하면 jinja2.exceptions.TemplateNotFound 오류가 발생한다. 아래 소스에 있는 show_entries.html 이 없기 때문이다. @app.route('/') def show_entries(): cur = g.db.execute('select title, text from entries order by id desc') entries = [dict(title=row[0], text=row[1]) for row in cur.fetchall()] return render_template('show_entries.html', entries=entries) render_tempate에서 사용되는 템플릿 html화일은 templates 디..

Programming/Python 2022.06.28

Flask 웹사이트 구축 - 5. 웹페이지(html) 렌더링을 하는 뷰 함수들

show_entries() : 작성된 글을 보여주는 함수 홈페이지의 root (/)를 호출하면, db의 entries를 id 기준, 역순으로 select 하여 entries 변수에 담고, render_template 함수를 사용하여, entries 변수 값과 show_entries.html 파일과 바인딩하여, 최종 html을 return 한다. @app.route('/') def show_entries(): cur = g.db.execute('select title, text from entries order by id desc') entries = [dict(title=row[0], text=row[1]) for row in cur.fetchall()] return render_template('sho..

Programming/Python 2022.06.27

Flask 웹사이트 구축 - 4. 데이터베이스 연결하기

먼저 데이터베이스를 연결하기 위한 connect_db()함수를 만든다. 이 함수는 DATABASE 변수에 저장되어 있는 '/tmp/testnet.db' sqlite3 파일경로/이름을 사용하여 DB를 연결한다. def connect_db(): return sqlite3.connect(app.config['DATABASE']) Flask에서는 request 요청 전후에, before_request, after_request, teardown_request 데코레이션을 사용할수 있다. before_request는 request요청전에 호출이 되고, after_request는 request요청 후에 호출이 된다. after_request는 예외사항 발생시 실행이 안될수 도 있기 때문에, teardown_requ..

Programming/Python 2022.06.25

Flask 웹사이트 구축 - 3. 메인 웹어플리케이션 생성

여기서는 구름IDE가 기본적으로 생성한 application.py 파일을 변경하여 작업을 하도록 할 예정이다. 먼저 필요한 패키지를 다음과 같이 import 한다. 기존에 있던 from flask import Flask 와 import sys 구문은 삭제한다. import sqlite3, sys from flask import Flask, request, session, g, redirect, url_for, \ abort, render_template, flash 그리고, 앞으로 사용하게 될 다음과 같은 환경 변수들을 추가한다. DATABASE는 sqlite3을 통해 관리하게 될 데이터파일의 위치와 그이름을 나타낸다. DEBUG가 True인 경우, 소스파일을 변경할때 실시간으로 변경된 파일을 반영하게 ..

Programming/Python 2022.06.21
반응형