엑셀(EXCEL) – 사용자 정의 꼬리말 설정(사용자 정보 인쇄)

 

일반적으로 엑셀에서 꼬리말의 경우 첨부된 이미지 상단처럼 페이지 번호, 전체 페이지, 날짜, 시간과
파일 경로, 이름, 그림 등을 추가할 수 있지만 미리보기의 아래처럼 사용자 이름, 로그온 IP 등과 같은
특수한 내용을 인쇄하기가 힘이 듭니다. 특히 보안에 관련된 문서의 경우 그 인쇄한 당사자가 누군지
확인할 수 있도록 Foot Print를 남기는 것이 중요하다고 봅니다.

http://www.clien.net/cs2/bbs/board.php?bo_table=kin&wr_id=3523980
([도움요청] 엑셀 바닥글 작성 . 갈켜주세요.. ㅠㅠ)

우선 VBA Editor여시고 Module 추가하시고 다음 소스 붙여넣기 합니다. 제가 올린 팁들에서 사용한
로그인 사용자 정보와 IP를 찾아내는 것입니다.

Option Explicit

Private Declare Function GetUserName Lib “advapi32.dll” Alias “GetUserNameA” _
(ByVal lpBuffer As String, nSize As Long) As Long

Function FindOutUserName() As String

Dim lpbuff As String * 12
Dim lngret As Long
Dim strUserName As String

On Error GoTo ET

lngret = GetUserName(lpbuff, 12)

strUserName = Left(lpbuff, InStr(lpbuff, Chr(0)) – 1)

FindOutUserName = Trim(strUserName)

Exit Function

ET:

FindOutUserName = “”

End Function

Public Function getIP()

Dim WMI As Object
Dim qryWMI As Object
Dim Item As Variant

Set WMI = GetObject(“winmgmts:\\.\root\cimv2”)

Set qryWMI = WMI.ExecQuery(“SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True”)

For Each Item In qryWMI

getIP = Item.IPAddress(0)

Next

Set WMI = Nothing
Set qryWMI = Nothing

End Function

이제 프린터할 꼬리말을 작성하는 루틴입니다. 간단하죠! 사용자 정보와 IP, 지금 프린트하는 시간을
중앙에 들어갈 꼬리말로 지정하는 것입니다. 다른 정보로 필요하면 왼쪽과 오른쪽 꼬리말로 지정해서
많은 정보가 들어갈 수 있도록 합니다. 왼쪽 꼬리말에 로고를 넣는 예제도 추가하였습니다.

Sub Custom_Footer()

Dim intTPage As Integer
Dim log_name As String, log_Ip As String
Dim DateStp As String, TimeStp As String

intTPage = ExecuteExcel4Macro(“Get.Document(50)”)

log_name = FindOutUserName
log_Ip = getIP
TimeStp = Format(Now(), “yyyy-mm-dd hh:mm:ss”)

With ActiveSheet.PageSetup
.CenterFooter = log_name & ” : ” & log_Ip & ” : ” & TimeStp

With .LeftFooterPicture
.Filename = “C:\Apple_logo.jpg”
.Height = 30
.Width = 30

End With

End With

ActiveSheet.PageSetup.LeftFooter = “&G”

End Sub
그리고 VBA Editor에서 ThisWorkBook을 더블클릭하시고 아래 코드를 넣어 줍니다. 내용은 프린터하기 전에
사용자 정의 루틴을 돌려서 기본 꼬리말의 내용을 대체하는 것입니다.

Option Explicit

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Call Custom_Footer

End Sub

상기 루틴들은 엑셀화일을 열때 Macro를 사용할 수 있도록해야 하므로 제한적으로 사용되지만 제가 올린
팁에 보면 엑셀화일을 열때 Welcome 시트만 보이도록 설정해서 무조적 매크로를 활성화해야 일을 시작?
할 수 있도록 하는 팁이 있습니다. 이것을 이용해서 프린터할 때 사용자 정의 꼬리말을 사용해서 프린트 한
내용을 확인할 수 있고 조금 더 추가하면 특정 시트를 숨겨서 인쇄 이력 관리도 가능합니다.

http://www.be4u.kr/wp/?p=2903 엑셀 화일을 지정 컴퓨터에서만 열 수 있게 하는 법

첨부 화일 : 20150916-사용자 정의 꼬리말(사용자 정보 인쇄)