2008. 10. 16. 13:42

영어 일기

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2008. 10. 16. 13:39

라디오 영어공부

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2008. 10. 16. 13:13

영어 어순 이해

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

Mission Possible/선교위원회 | Posted by lamie 2008. 10. 12. 16:52

2008 선교축제 준비

잠깐 쉬어... | Posted by lamie 2008. 10. 10. 10:05

김제동 어록

네잎크로버의 꽃말은 "행운"이죠..
우리는 네잎클로버를 따기 위해 수많은 세잎클로버들을 짓밟고 있어요.
그런데 세잎클로버의 꽃말이 무엇인지 아시나요?
"행복"이랍니다.
우리는 수많은 행복 속에서 행운만을 찾고 있는 것은 아닌지..

 

독일의 속담에 이런 것이 있습니다.
금이 아름답다는 것을 알게되면, 별이 아름답다는 것을 잊어버린다...
여러분은 아직 금의 아름다움보다는 별의 아름다움을
즐기실 나이라고 생각합니다. 오늘의 젊음 영원히 간직하시기 바랍니다."


"사랑은 택시와 같은거죠. 함께 걸어온 길만큼 대가를 지불해야 합니다"


"그..발랄이란 단어가 느낌이 참 좋아요~ 정말 신나보이지 않습니까?
그 단어 하나만으로 단어의 뜻이 느껴지잖아요~
제생각에는 발랄이 발광하다와 랄랄라의 합성어가 아닌가 생각됩니다.
켜켜켜켜..."


"여자는 첫사랑을 기억에 남기고 남자는 첫사랑을 가슴에 남긴다."


"당신이 이 세상에 세잎 크로버로 태어난 것을 더 이상 슬퍼하지 마십시오.
만약 당신이 네잎크로버로 이 세상에 태어났다면
이미 누군가에 손에 의해서 당신에 허리는 잘려져 나갔을 것을..
더 이상 당신의 잎이 세잎 클로버 인 것을 슬퍼하지 마십시오.
이제 당신의 인생에서 나머지 행운의 한 잎은 제가 되어드리겠습니다"


"앉아있는 신사 보다 서있는 농부를 생각하는 하루 되세요."


"자신이 힘들땐 언제나 자기 자신으로 인해 자신을 즐겨라 이 말을 깨닫게 되면
너는 힘들다는 마음을 이미 넘어서 행복을 맞이하고 있을 것이다."


GOD 콘서트에서
제동:저는 개인적으로 태우씨를 아주 좋아합니다.
내가 여자로 태어나면 태우씨와 결혼을 할겁니다.해주실거죠??
(태우의 반응을 살피자..)
제동:그대신 이모습 그대로 태어날겁니다.


-명전 신입생환영회에서-
한 학생이 "오빠~ 나랑 결혼해요~"
제동님 왈
"나 같은 딸 낳아서 살 수 있겠어요!!그건 인생을 망치는 일이에요!"


첫번째 남자에게는 제동형이 하는말을 세번 따라하라고 하시더군요
제동형 : 히말라야를 세번 말해보세요
관객1 : 히말라야, 히말라야, 히말라야
제동형 : 세계에서 가장 높은 산 이름은?
관객1 : 에베레스트


제동형 : "컨닝"을 세번 말해보세요
관객1 : 컨닝 컨닝 컨닝
제동형 : 미국초대대통령은?
관객1 : 링컨
제동형 : 미국 초대대통령은 조지워싱턴입니다.


두번째 관객에게는
제동형 : 신데렐라에 나오는 난쟁이는 몇명인가요?
관객2 : 7명
제동형 : 신데렐라에는 난쟁이가 나오지 않습니다.


세번째 관객에게는
제동형 : 길을가다가 천원짜리랑 만원짜리가 있으면 뭘 주워야 하나요?
관객3 : 만원짜리요
제동형 : 길을 가다 천원짜리랑 만원짜리가 있으면 둘다 주워야합니다.


네번째 관객에게는
제동형 : 이름이 뭐에요?
관객4 : 김xx요.
제동형 : 정답입니다.


"하늘에 왜 해가 떠있는지 아십니까?"
"하늘에 왜 별이 떠있는지 아십니까?"
"저도 당신을 왜 사랑하는지 잘 모르지만 당신을 사랑합니다."


"이별보다 더 비참한 것은 이별마저 허락받지 못한 사랑이다"


"우리 주유소가서 걸쭉한 기름이나 한잔할까?"


"남자는 아무데서나 함부로 무릎을 꿇어서는 안되지만
사랑하는 여자 앞에서 무릎을 꿇는건
사랑하는 여자를 갖은 남자만의 특권이다"


"키가 작았던 나폴레옹은 자기자신의 키를 땅으로부터 재면
다른 사람보다 훨씬 작은 키지만, 하늘에서부터 재면 자신의 키는
다른 사람보다 훨씬 높은 키라고 말했습니다.
여러분도 희망을 가지시고 모든일에 최선을 다하세요."


윤도현: 목이 참 쫄려보이시네요..
김제동: 좀 그렇죠!? 코디가 미쳤나봐요...-_-;;
(폭소)
김제동: 이세상에 모든 코디분들에게 말합니다. 멋 보다는 사람 생명이 중요하다는거.


어떤 여자분이 옷을 예쁘장하게 입고 있었는데...이걸 본 제동씨 장난끼가 발동!!!
"저~ 이 옷 어디서 구입하셨나요? "(굉장히 부러운듯 옷을 훑어보며)
이어서 자랑스레 여자분이 말하려던 찰나.. 제동님이
"정말 싸고 좋은걸 구입하셨네요~ "


견디기 힘든 고통이란 것은 견딜수 없는 고통의 반대말이다


"제가 첫번째로 싫어하는 게 제 얼굴이고 두번째가 쥐에요"



윤도현이 좀 삐지자
제동님 : 락커가 하루에 4번을 삐집니다~


"사랑은 무엇 때문이 아니라 그럼에도 불구하고" 이어야 한다


경희대 행사 중에 뒤에 있는 플래카드 보시면서
-'그리고 저거저거...불태워버리세요 무슨 이장선거도 아니고'
-'강연하래서 왔더니 아무것도 없고 마루 8장 붙여놓고
플래카드는 뒤에 지들 꺼는 큼지막하게 예쁘게 해놓고
내거는 무슨 이장 선거할 때...저거 불태워버려요 알았죠'


호프집에서 사람들이 손을 잡자
-'그래요...내가 갈 때 아주 손 잘라줄게요 가지고 가세요'


행사장에서 김제동이 가장 싫어하는 여자 스타일을 물었더니
'깜찍하고, 이쁘고, 귀엽고, 사랑스럽고, 애교 있고,
섹시하고, 나랑 친한데......나랑 사귀지 않는 여자!!'


제동오빠: 남자친구 있어요?
우리둘: 없어요~
제동오빠: 괜찮은 자살사이트가 있는데 알려드릴까요?
우리둘:(거의 넘어갔었죠~)
제동오빠: 새로나온 농약이 있는데....


이별하는 사람들아 기뻐하라 이별도 사랑하는 사람들의 특권이다..


저는 이분들께 이런 말씀을 드리고 싶습니다.
이렇게 올라오셔서 앞에 나오셔서 사회자의 짖궂은 농담에
한번도 싫은 내색하지 않으시고, 그리고 이 위에 올라와서
이렇게 서주시는 것 자체만으로도 누군가에게 웃음을
준다는 건 이미 이분들이 복을 행하신거예요.
이분들의 용기와 나오셔서 여러분께 큰 웃음 주신 것에
대해서 여러분 다시 한번 큰 박수 부탁드리겠습니다.
무대 위에서 사회자는 마이크를 잡고 있을 때 가끔씩
웃음을 위해서 이 사람에게 지나치게 핀잔을 준다거나,
저는 조금 심하다 싶을 정도로 하기도 합니다.
그러나 마이크를 잡고 있어서 그렇습니다.
마이크를 놓을 때는 최대한 같은 인격자로
다가가서 서는 것이 가장 중요합니다.
어떤 행사장 어떤 곳에서든 소수를 스타로 만들어주고
또 그 자신이 열심히 사회자가 되는 그 날 대한민국
4천7백만 국민 모두가 훌륭한 사회자가 되는 그날까지 달려가겠습니다


"잘생긴 남자들이 담배 피우면 여자들은 '오빠 담배 피지마
응? 몸에 해롭잖아~' 이러는데 내가 담배 피는거 보고
여자들은 저한테 이렇게 얘기를 하더군요 '오빠 두 개 한꺼번에 펴봐~응?'"


"애인 없어요?"
"네~"
"왜 없어요?"
"모르겠어요"
"왜 몰라요? 난 딱 보니까 알겠는데.."


제동님 : "저는 누나들 다 집에 있으면 집에 들어가기가 싫어요~
시끄러워서~~!!원~
누나 셋하고 드라마 보고 나면 내용은 하나도 생각이 안 나고
누구머리가 어떻드라~ 옷이 어느 메이커더라~ 그것만 기억나요
악역이라도 하나 나와봐요..
저런 년은~!! 확~! 쎄리 쥑여 뿌야 되는거 아이가~!
난리난리 그런 난리도 없어요......"


사회자 : "누나가 많은 집에서 컸으면 여성화가 많이 되었을텐데...
제동씨는 아닌가 봐요~?"
제동님: "저희 누나들이 다 남성화 되어 있어서
저는 여성화가 될래야 될수가 없어요ㅡ_ㅡ;;"
사회자 : "자신이 가장 무서워하는 누나가 있다면?"
제동님: "4째누나가 젤로 무서워요~
한번은 말 안 듣다가 밥통으로 맞아서 죽을뻔 했어요..."


앞에 나온 방위출신 학생을 보고...
제동 : "하하하하. 공군은 하늘에서 죽고, 육군은 땅에서 죽고,
해군은 바다에서 죽고, 방위는 쪽팔려서 죽습니다. 켜켜켜
(이때 웃겨서 다 뒤집어 졌음. 그 후 바로 이어서 한마디 더)
방위는 죽지 않는다. 다만 총소리에 놀라서 기절할 뿐이다. 켜켜켜켜"


점술이라는 것은 열 개의 운명중에 하나의 운명을 우리에게 예시하고
암시해주는 것이고 우리가 가진 능력이라는 것은 아홉개의 앞으로의 일어
날 예언 어떤것들도 우리가 만들어 나갈수 있다는 것이다"



"남자는 술을 먹되 취하지 않고 취하되 비틀거리지 아니하고 쓰러지되 무릎꿇지 아니한다"


신동엽·이효리 '쟁반극장'중...
이효리가 자꾸 김제동을 물먹이고 NG를 내길래...
김제동 - "시골에서 소 잡기 전에 물을 많이 먹이죠..."


신동엽·이효리 '쟁반극장'중...
이효리가 쉬운 곳에서 자꾸 NG를 내자...
김제동 - "참 가지가지로 한다...사람 물을 먹이질 않나..."


김제동의 '이별 극복법'中
그 여자가 결혼해서 2층 집을 지으면 난 양 옆에 4층을 짓고
그 여자가 4층 지으면 난 양옆에 8층을 쌓아 올리고
그 여자가 16층빌딩을 쌓아 올려면 난 양옆으로 해서 32층 빌딩을 쌓아 올려서
그 여자와 남편이 평생 햇빛을 보면서 살지 못하도록 만들어주는거죠........
그 여자가 치킨집을 시작하면 난 양계장을 시작해서 닭을 공급하지 않는거고
그 여자 남편이 돈까스 집을 시작하면 난 양돈업을 시작해서 돼지를 공급하지 않고...
그리고 차가 가장 중요합니다
그 여자가 타는 차보다 1단계 더 높은 차를 타야 합니다 약을 올리는거죠...
소형차를 타면 중형차를 타고 중형차를 타면 대형차를 타고 대형차를 타
면 난 버스나 트럭을 몰고 가서 옆에서 계속 빵빵 거리는거죠...
그것이 정말로 후회하도록 만들어 주는거죠....
그리고..."언젠가 언젠가 날 놓친 걸 꼭 후회하게 될거다"
이렇게 속삭여 줍니다..



생각했을 때 기분 좋은 것은 첫사랑이 아니다.
가슴을 후벼파고...기억하고 싶지 않은데 기억나는 것...
첫사랑이라고 하는 것은 기억 나는 게 아니고
가슴 속 밑에서 차오르는 것... 그리고 첫사랑이
아름다울 수 있는 이유는 이루어지지 않아서기 때문이다..


'어두운 밤에 등대는 되어드릴 수 없습니다.
하지만 갈 수 있는 길은 알려드릴 수 있습니다..'


'폭소클럽'中 한 여학생이 올라와서 남자친구와 헤어졌다면서 죽고싶다는 말을
공개적으로 말해버린겁니다..분위기는 갑자기 썰렁해지기 시작했는데. 그때 제동이형의 한마

디...
"사랑과 목숨은 별개입니다. 실연당해서 죽을 거면 하루에 몇천만씩
죽어요. 사랑은 항상 바람처럼 왔다가 사라지기도 하고 그 어떤 것으로
막으려해도 막을 수 없는 공기와도 같아요. 그러니깐 다른 사랑을 만들어보세요"
라고 하셔서 그 여학생 눈물 흘리면서 고맙다는 말로 좋게 끝났던..기억이


"어차피 깨진 유리조각을 다시 붙이지 못하듯이
첫사랑과의 추억도 붙일 수 없는 것입니다.
사랑에 진정한 힘이라는 것은 아픈 기억을
소중한 추억으로 만들어 준다는 것에 있는거죠.."


"사랑은 '그렇기 때문에' 가 아니라, '그럼에도 불구하고' 이다"


"사랑은 서로 마주 보는게 아니라 같은 곳을 보는 것이다..."


왕비가 백설 공주를 미워한 이유는 백설공주가 예뻐서가 아니라 거울에 대한 배신감 때문이다

."


사랑했다면..앞을 보고..
사랑할 거면..서로를 보고..
사랑한다면..같은곳을 보라...


하늘의 별만을 바라보는 사람은,
자기 발 아래의 아름다운 꽃을 느끼지 못한다...


남자친구가 군대에 있다면..^^
남자친구를 기다린다고 생각하지말고,
자랑스러운 남자친구를 내조국에 임대해주었다고 생각하고,
나도 같이 나라를 지킨다고 생각을 하면
기다리는 게 아니라 함께하는 것이 될수 있다."


영원히 살 것 처럼 꿈을 꾸고,
내일 죽을 것 처럼 오늘을 살아라



이소라의 음도에서,
소라 : 어머, 제동씨 얼굴이 많이 부었어요.
많이 아프나 봐요. 이젠 제동씨도 안정된 가정을 가지셔야 할 텐데요.
제동 : 네, 그래야죠, 그래야죠. 근데, 이소라씨 저보다 누나시죠??


"세르반테스의 돈키호테에 나오는 말이거든요,
제가 참 좋아하는 말인데, 『이룩할 수 없는 꿈을 꾸고,
이루어질 수 없는 사랑을 하고, 견딜수 없는 고통을 견디며,
잡을 수 없는 저 밤하늘의 별을 따자』"


떠나는 사람 붙잡지 마세요.. 흘러가는 강물 철판으로
아무리 막아도 강물은 흘러가게 되있어요..
정말 그사람을 붙잡고 싶으면 먼저 바다에 가서 기다리세요..
정말 인연이라면 그 강물은 흘러서 바다로 올테니까요.."




남자랑 여자랑 불러내서 공개 프로프즈 시킬때인듯 한데...
다른말은 기억안나고 이말만 기억에 남네요..
" 세상에 내가 믿는 유일한 신은 당신입니다.."


여러분 돈으로 물을 살 순 있지만 비를 살 순 없습니다.
돈으로 얼음을 살 수 있어도 눈을 사지는 못합니다.
그뿐입니까? 돈으로 명예를 살 순 있지만 사람들의 마음은 살 수가 없고
돈으로 사람을 살 수는 있지만 사랑을 살 수는 없습니다.
(관객들: 우와~~~~~~~~~~~~)
이처럼 어찌보면 이 돈이란 것이 한낮 쓰레기에 불과한 것입니다.
837-181999-02-001 제 계좌번호입니다...그쓰레기들 이 쪽으로 버려주세요


"아 이 시계는 방수군요. 대단합니다..수심 40M 까지
방수가 된다는군요. 이런 쓸데없는 기능을...
누가 수심 40M 까지 들어간답니까... 그건 미친짓이죠." 

'잠깐 쉬어...' 카테고리의 다른 글

1 : π  (0) 2008.11.17
Team Hoyt 外  (0) 2008.11.06
거꾸로 읽어도 같은 글자  (0) 2008.09.24
* When You Believe *  (1) 2008.03.30
준탱이 결혼한다...  (0) 2007.12.25

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2008. 10. 10. 09:16

토익 R/C 핵심공략집

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2008. 10. 10. 07:41

팝송과 가사 - 영어

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

2008. 10. 10. 07:35

패턴과 표현(collocation)

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

매크로 | Posted by lamie 2008. 10. 6. 20:52

파일목록생성샘플

Option Explicit

Dim hItem            As Long
Dim hFile            As Long
Dim WFD              As WIN32_FIND_DATA
Dim UseFileSpec      As Boolean
Dim CreationTime     As Double
Dim lstIdx           As Integer
Dim wFile            As String
Dim uFile            As String

Const vbKeyDot = 46
Const ExcelLove = "엑사모 - http://www.excellove.com"

Private Sub cmdClose_Click()
   
With Application
   .DisplayAlerts = True
   .ScreenUpdating = True
   .Cursor = xlDefault
End With
Unload Me

End Sub

Private Sub cmdFindNow_Click()

Dim i          As Integer
Dim MyDrive    As String
Dim wbNew      As Workbook
Dim shtTarget  As Worksheet

Application.Cursor = xlWait
LstFound.Clear
lstIdx = -1
wFile = ""
uFile = ""
CreationTime = 0
With lstFolder
   For i = 0 To .ListCount - 1
      MyDrive = Left(.List(i), 2)
      If GetDrvInfo(MyDrive) Then
         DoEvents
         Call cFile_Find(.List(i))
      Else
         Application.Cursor = xlDefault
         MsgBox "드라이브 " & MyDrive & "에서 읽어오는중 오류가 발생했습니다." & vbCr & vbCr & _
                "디스크가 드라이브에 삽입되지 않았거나 장치가 준비되지 않았습니다.", vbCritical, ExcelLove
         Exit Sub
      End If
   Next i
End With
Application.Cursor = xlDefault
With LstFound
   If .ListCount > 0 Then
      Frame2.Enabled = True
      LstFound.Enabled = True
      LstFound.ListIndex = lstIdx
      If chkExportToSheet.Value Then
         Set wbNew = Workbooks.Add
         Set shtTarget = wbNew.ActiveSheet
         With shtTarget
            .Range("A1").Value = "파일 경로 및 파일명"
            .Range("B1").Value = "경로"
            .Range("C1").Value = "파일명"
            .Range("D1").Value = "만든 날짜"
            .Range("E1").Value = "크기"
            .Range("A2:E" & LstFound.ListCount + 1).Value = LstFound.List
            .Range("A1").CurrentRegion.Resize(, 1).Offset(, 3).NumberFormat = "yyyy-mm-dd hh:mm:ss"
            .Columns("A:E").AutoFit
         End With
         MsgBox "총 " & LstFound.ListCount & "개의 파일이 검색되었습니다.", vbInformation, ExcelLove
      End If
   Else
      MsgBox "선택한 폴더에서 파일을 발견할 수 없습니다.", vbExclamation, ExcelLove
   End If
End With

End Sub

Private Sub cmdFolderAdd_Click()

Dim bi      As BROWSEINFO
Dim pidl    As Long
Dim Path    As String
Dim pos     As Integer
Dim i       As Integer
Dim Added   As Boolean
Dim ObjFld  As String

bi.hOwner = GetActiveWindow()
bi.pidlRoot = 0&
bi.lpszTitle = "폴더를 선택하십시오."
bi.ulFlags = BIF_RETURNONLYFSDIRS
pidl = SHBrowseForFolder(bi)
Path = Space$(512)

If SHGetPathFromIDList(ByVal pidl&, ByVal Path) Then
   pos = InStr(Path, Chr$(0))
   If UCase(Left(Path, 1)) >= "A" And UCase(Left(Path, 1)) <= "Z" Then
      Added = False
      ObjFld = Left(Path, pos - 1)
      With lstFolder
         If ChkIncludeSubFolder And .ListCount > 0 Then
            With lstFolder
               For i = .ListCount - 1 To 0 Step -1
                  If InStr(.List(i), ObjFld) = 1 Then .RemoveItem (i)
               Next
            End With
         End If
         For i = 0 To .ListCount - 1
            If .List(i) = ObjFld Then
               MsgBox "폴더 : " & ObjFld & vbCr & vbCr & _
                  "이 폴더는 이미 검사할 폴더에 추가되어 있습니다.", vbInformation, ExcelLove
               Added = True
               Exit For
            ElseIf InStr(ObjFld, .List(i)) = 1 And ChkIncludeSubFolder Then
               MsgBox "폴더 " & Left(Path, pos - 1) & vbCr & vbCr & _
                  "이 폴더는 이미 검사할 상위 폴더에 추가되어 있습니다.", vbInformation, ExcelLove
               Added = True
               Exit For
            End If
         Next
         If Not Added Then .AddItem ObjFld
         Call txtExt_Change
      End With
   Else
      MsgBox "현재 선택한 폴더(경로)는 지원되지 않습니다.", vbExclamation, ExcelLove
   End If
End If

End Sub

Private Sub cmdFolderRemove_Click()

With lstFolder
   .RemoveItem (.ListIndex)
End With
lstFolder_Click

End Sub

Private Sub cmdOk_Click()

MsgBox "이곳에 필요한 코딩을 합니다.", vbInformation, ExcelLove

End Sub

Private Sub Frame1_Click()

End Sub

'
' 찾을 파일 폴더 목록에서 목록을 클릭했을때 삭제단추/찾기단추등 사용가능토록 설정
'
Private Sub lstFolder_Click()

Dim i As Integer
Dim F As Boolean
F = False
With lstFolder
   If .ListCount > 0 Then
      For i = 0 To .ListCount - 1
         If .Selected(i) Then
            F = True: Exit For
         End If
      Next
   End If
   cmdFolderRemove.Enabled = F
   Label1.Enabled = .ListCount > 0
   cmdFindNow.Enabled = .ListCount > 0
End With

End Sub

'
' 파일찾기 시작
'
Private Sub cFile_Find(fDrv As String)

On Error Resume Next
If Right(fDrv, 1) <> Application.PathSeparator Then fDrv = fDrv & Application.PathSeparator
UseFileSpec = True
Call SearchDirs(fDrv)
UseFileSpec = False

End Sub

'
' 폴더에서 지정된 파일확장자를 모두 찾음
'
Private Sub SearchDirs(curPath As String)

Dim dirs       As Integer
Dim i          As Integer
Dim dirbuf()
Dim pos        As Integer
Dim FileSpec   As String
Dim strTemp    As String

DoEvents
hItem = FindFirstFile(curPath & "*.*", WFD)
If hItem <> INVALID_HANDLE_VALUE Then
   Do
      If (WFD.dwFileAttributes And vbDirectory) Then
         If Asc(WFD.cFileName) <> vbKeyDot Then
            If (dirs Mod 10) = 0 Then ReDim Preserve dirbuf(dirs + 10)
            dirs = dirs + 1
            dirbuf(dirs) = Left$(WFD.cFileName, InStr(WFD.cFileName, vbNullChar) - 1)
         End If
      End If
   Loop While FindNextFile(hItem, WFD)
   Call FindClose(hItem)
End If

'
' 입력된 파일명과 확장자를 기준으로 파일을 찾음
'
If UseFileSpec Then
   If Right(txtExt.Text, 1) = ";" Then
      FileSpec = txtExt.Text
   Else
      FileSpec = txtExt.Text & ";"
   End If
   Do
      pos = InStr(FileSpec, ";")
      If pos >= 1 Then
         strTemp = Left(FileSpec, pos - 1)
         Call SearchFileSpec(curPath, strTemp)
      End If
      FileSpec = Mid(FileSpec, pos + 1)
   Loop While FileSpec <> ""
End If

If ChkIncludeSubFolder Then
   For i = 1 To dirs
      SearchDirs curPath & dirbuf(i) & Application.PathSeparator
   Next i
End If

End Sub

Sub SearchFileSpec(curPath As String, FileExt As String)

Dim st         As SYSTEMTIME
Dim ftLocal    As FILETIME
Dim x          As Double
Dim strFName   As String

hFile = FindFirstFile(curPath & FileExt, WFD)
If hFile <> INVALID_HANDLE_VALUE Then
   Do
      Call FileTimeToLocalFileTime(WFD.ftCreationTime, ftLocal)
      Call FileTimeToSystemTime(ftLocal, st)
      Call SystemTimeToVariantTime(st, x)
      strFName = Left$(WFD.cFileName, InStr(WFD.cFileName, vbNullChar) - 1)
      '
      ' 파일명이 폴더인 경우 제외
      '
      If strFName = "." Or strFName = ".." Then
      Else
         wFile = curPath & Left$(WFD.cFileName, InStr(WFD.cFileName, vbNullChar) - 1)
         LstFound.AddItem wFile
         LstFound.List(LstFound.ListCount - 1, 1) = curPath
         LstFound.List(LstFound.ListCount - 1, 2) = Left$(WFD.cFileName, InStr(WFD.cFileName, vbNullChar) - 1)
         LstFound.List(LstFound.ListCount - 1, 3) = Format(x, "yyyy-mm-dd hh:mm:ss")
         LstFound.List(LstFound.ListCount - 1, 4) = Format(WFD.nFileSizeHigh * 256 + WFD.nFileSizeLow, "#,##0")
         Frame2.Caption = "찾은파일(" & LstFound.ListCount & "개)"
         If x > CreationTime Then
            CreationTime = x
            uFile = wFile
            lstIdx = LstFound.ListCount - 1
         End If
      End If
   Loop While FindNextFile(hFile, WFD)
   Call FindClose(hFile)
End If

End Sub

Private Sub LstFound_Click()

cmdOK.Enabled = True

End Sub

Private Sub txtExt_Change()

With lstFolder
   Label1.Enabled = .ListCount > 0 And Len(txtExt.Text) > 0
   lstFolder.Enabled = .ListCount > 0 And Len(txtExt.Text) > 0
   cmdFindNow.Enabled = .ListCount > 0 And Len(txtExt.Text) > 0
End With

End Sub

Private Sub UserForm_Click()

End Sub

'======================================================================
Option Explicit

' 파일의 날짜를 읽어오기 위해 사용할 상수들
Public Const MaxLFNPath = 260
Public Const INVALID_HANDLE_VALUE = -1

' 브라우저를 보여주기에 사용할 상수들
Public Const BIF_RETURNONLYFSDIRS = &H1
Public Const BIF_DONTGOBELOWDOMAIN = &H2
Public Const BIF_STATUSTEXT = &H4
Public Const BIF_RETURNFSANCESTORS = &H8
Public Const BIF_BROWSEFORCOMPUTER = &H1000
Public Const BIF_BROWSEFORPRINTER = &H2000
Public Const BIF_BROWSEINCLUDEFILES = &H4000
Public Const BIF_EDITBOX = &H10
Public Const BIF_VALIDATE = &H20
Public Const BIF_NEWDIALOGSTYLE = &H40
Public Const BIF_BROWSEINCLUDEURLS = &H80
Public Const BIF_SHAREABLE = &H8000

Public Type SYSTEMTIME
  wYear              As Integer
  wMonth             As Integer
  wDayOfWeek         As Integer
  wDay               As Integer
  wHour              As Integer
  wMinute            As Integer
  wSecond            As Integer
  wMilliseconds      As Long
End Type

Public Type FILETIME
   dwLowDateTime     As Long
   dwHighDateTime    As Long
End Type

Public Type WIN32_FIND_DATA
   dwFileAttributes  As Long
   ftCreationTime    As FILETIME
   ftLastAccessTime  As FILETIME
   ftLastWriteTime   As FILETIME
   nFileSizeHigh     As Long
   nFileSizeLow      As Long
   dwReserved0       As Long
   dwReserved1       As Long
   cFileName         As String * MaxLFNPath
   cShortFileName    As String * 14
End Type

Public Type BROWSEINFO
   hOwner            As Long
   pidlRoot          As Long
   pszDisplayName    As String
   lpszTitle         As String
   ulFlags           As Long
   lpfn              As Long
   lParam            As Long
   iImage            As Long
End Type

Declare Function GetActiveWindow Lib "user32.dll" () As Long

' 브라우저를 보여주기 위한 함수들
Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long

' 파일을 찾는데 사용할 함수들
Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long

' 파일의 날짜를 읽어오기 위해 사용할 함수들
Declare Function FileTimeToSystemTime Lib "kernel32" (lpFileTime As FILETIME, lpSystemTime As SYSTEMTIME) As Long
Declare Function FileTimeToLocalFileTime Lib "kernel32" (lpFileTime As FILETIME, lpLocalFileTime As FILETIME) As Long
Declare Function SystemTimeToFileTime Lib "kernel32" (lpSystemTime As SYSTEMTIME, lpFileTime As FILETIME) As Long
Declare Function SystemTimeToVariantTime Lib "oleaut32" (psystime As SYSTEMTIME, pvtime As Double) As Long

' 디스크 드라이브의 정보를 읽어오기 위한 함수
Declare Function GetVolumeInformation Lib "kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

'
' 드라이브의 정보를 읽어온다
' 해당 드라이브에 오류없이 정상적으로 읽히면 rc 에는 1이 온다
'
Public Function GetDrvInfo(gDrive As String) As Boolean

   Dim rc                     As Long
   Dim nSerial                As Long
   Dim Vol                    As String
   Dim fSystem                As String
   Dim nMaxFileName           As Long
   Dim nFileSystemFlags       As Long

   Vol = Space(255)
   fSystem = Space(255)
   If Right(gDrive, 1) <> Application.PathSeparator Then gDrive = gDrive & Application.PathSeparator
   rc = GetVolumeInformation(gDrive, Vol, Len(Vol), nSerial, nMaxFileName, nFileSystemFlags, fSystem, Len(fSystem))
   GetDrvInfo = (rc = 1)

End Function

'매크로' 카테고리의 다른 글

filesearch 대용  (0) 2008.10.05
사진 자동입력하는 매크로 - manual/auto  (0) 2008.09.25
폴더 여는 매크로  (0) 2008.09.25
화일 이름 바꾸기 매크로  (1) 2008.09.22
macro 설명  (0) 2008.09.03
2008. 10. 5. 19:54

라울뒤피의 .

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

매크로 | Posted by lamie 2008. 10. 5. 09:00

filesearch 대용

인터넷을 뒤져보니 화일을 열거하는 예제는 많지만 내맘에 쏙드는 게 없다....

또한 FileSearch가 엑셀2007부터는 동작이 잘 안된다고 한다.

할수 없이 FileSystemObject를 이용해서 만들었다.

 

Option Explicit

'폴더선택창을 만드는 구문을 베껴적음
Public Type BROWSfromFO
  hOwner As Long
  pidlRoot As Long
  pszDisplayName As String
  lpszTitle As String
  ulFlags As Long
  lpfn As Long
  lParam As Long
  iImage As Long
End Type

Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias _
  "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long

Declare Function SHBrowseForFolder Lib "shell32.dll" _
  Alias "SHBrowseForFolderA" (lpBrowsfromfo As BROWSfromFO) As Long
Dim Fs As Object
Dim lngRow As Long

 

Private Function GetDirectory(Optional Msg As String) As String
Dim bInfo As BROWSfromFO
Dim Path As String
Dim r As Long, x As Long, pos As Integer
    bInfo.pidlRoot = 0&
    If IsMissing(Msg) Then
      bInfo.lpszTitle = "Please select from Formatting."
    Else
      bInfo.lpszTitle = Msg
    End If
    bInfo.ulFlags = &H1
    x = SHBrowseForFolder(bInfo)
    Path = Space$(512)
    r = SHGetPathFromIDList(ByVal x, ByVal Path)
    If r Then
      pos = InStr(Path, Chr$(0))
      GetDirectory = Left(Path, pos - 1)
    Else
      GetDirectory = ""
    End If
End Function

 

Sub FolderFiles()
Dim objFolder As Object
Dim objFile As Object
Dim strDir As String
    strDir = GetDirectory
    If strDir = "" Then Exit Sub
   
    Set Fs = CreateObject("Scripting.FileSystemObject")
    Set objFolder = Fs.GetFolder(strDir)
   
    Cells.ClearContents
    Cells(1, 1) = "<dir>" & objFolder.Name & " (" & _
      Format(objFolder.Size, "#,##0,") & "kb)"
    lngRow = 2
    For Each objFile In objFolder.Files
      Cells(lngRow, 2) = objFile.Name & " (" & Format(objFile.Size, "#,##0,") & "kb)"
      ActiveSheet.Hyperlinks.Add anchor:=Cells(lngRow, 2), Address:= _
        strDir & "/" & objFile.Name
      lngRow = lngRow + 1
    Next objFile
    Call FindSubfolder(objFolder, 2)
End Sub

 

Sub FindSubfolder(ByVal Path As String, lngCol As Long)
Dim objFolder As Object, subFolder As Object
Dim objFile As Object
    Set objFolder = Fs.GetFolder(Path)
   
    For Each subFolder In objFolder.SubFolders
        Cells(lngRow, lngCol) = "<dir>" & subFolder.Name & " (" & _
          Format(subFolder.Size, "#,##0,") & "kb)"
        lngRow = lngRow + 1
        For Each objFile In subFolder.Files
          Cells(lngRow, lngCol + 1) = objFile.Name & " (" & Format(objFile.Size, "#,##0,") & "kb)"
          ActiveSheet.Hyperlinks.Add anchor:=Cells(lngRow, lngCol + 1), Address:= _
            subFolder.Path & "/" & objFile.Name
          lngRow = lngRow + 1
        Next objFile
        
        '재귀용법
        Call FindSubfolder(subFolder, lngCol + 1)
    Next
End Sub


'매크로' 카테고리의 다른 글

파일목록생성샘플  (0) 2008.10.06
사진 자동입력하는 매크로 - manual/auto  (0) 2008.09.25
폴더 여는 매크로  (0) 2008.09.25
화일 이름 바꾸기 매크로  (1) 2008.09.22
macro 설명  (0) 2008.09.03

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

매크로 | Posted by lamie 2008. 9. 25. 19:53

사진 자동입력하는 매크로 - manual/auto

Sub Get_Picture_auto()
    On Error GoTo File_error
Dim c_path, p_name, r_name, border
c_path = Application.ThisWorkbook.path '현재 문서의 디렉토리

border = 3

Input_p_heingt:         '사진 높이 입력
    h_zoom = 1
   'h_zoom = Application.InputBox(PROMPT:="사진 높이를 입력하세요(사진이 차지하는 행의 수)", Type:=2)
    'If h_zoom = False Then Exit Sub
    'If IsNumeric(h_zoom) = False Then GoTo Num_error

Repeat:
    prev_addr = ActiveCell.Address             '현재셀주소
    r_name = Selection.Text                    '현재셀을 사진화일 이름으로 사용
        If r_name = "" Then GoTo noname_error
    p_name = r_name + ".jpg"                   '사진화일명 생성
    p_height = Selection.Height                '현재셀의 높이(사진 높이의 기준이 됨)
    p_width_move = Selection.Offset(0, 0).Width    '현재열의 너비(사진의 폭이됨)
    p_width = Selection.Offset(0, 1).Width    '다음열의 너비(사진의 폭이됨)
    
    
    'Application.Dialogs(xlDialogOpen).Show
    'ins = Application.Dialogs(xlDialogInsertPicture).Show
    
   ActiveSheet.Pictures.Insert(c_path + "\" + p_name).Select
    'If ins Then
    With Selection
                  .ShapeRange.LockAspectRatio = msoFalse
                  .ShapeRange.Height = p_height * h_zoom - border * 2 '셀 높이 * 배율
                  .ShapeRange.Width = p_width - border * 2 '셀 너비 단위로 입력
                  .ShapeRange.IncrementLeft p_width * 1 + p_width_move - p_width '셀크기 단위로 그림 위치 이동
                  .ShapeRange.IncrementLeft border '셀크기 단위로 그림 위치 이동
                  .ShapeRange.IncrementTop border '셀크기 단위로 그림 위치 이동
                  .Placement = xlMoveAndSize '사진이 움직일 수 있도록
                  .PrintObject = True        ' 출력 가능
    End With
    'End If
Blank_check:
   'Range(prev_addr).Offset(h_zoom, 0).Select '다음 이름으로 이동
    ActiveCell.Offset(h_zoom, 0).Select '다음 이름으로 이동
    If ActiveCell = "" Then
    gostop = MsgBox("빈칸입니다. 아래칸으로 계속하시겠습니까?", vbYesNo, "Go? Stop?")
    If gostop = vbYes Then GoTo Blank_check
    Else
    gostop = MsgBox("계속 진행하시겠습니까?", vbYesNo, "Go? Stop?")
    If gostop = vbYes Then GoTo Repeat
    End If
'Exit Sub

'Num_error:
'    MsgBox "숫자로 입력하셔야 합니다."
'    GoTo Input_p_heingt

File_error:
    MsgBox "사진화일이 동일 디렉토리에 없거나, 사진화일명과 Symbol 내용이 다릅니다." + Chr(13)
Exit Sub
noname_error:
    MsgBox "Symbol 내용이 비어있습니다."
End Sub

Sub Get_Picture_manual()
    'On Error GoTo File_error
Dim c_path, p_name, r_name, border
c_path = Application.ThisWorkbook.path '현재 문서의 디렉토리

border = 3

Input_p_heingt:         '사진 높이 입력
    h_zoom = 1
   'h_zoom = Application.InputBox(PROMPT:="사진 높이를 입력하세요(사진이 차지하는 행의 수)", Type:=2)
    'If h_zoom = False Then Exit Sub
    'If IsNumeric(h_zoom) = False Then GoTo Num_error

'Repeat:
    prev_addr = ActiveCell.Address             '현재셀주소
'    r_name = Selection.Text                    '현재셀을 사진화일 이름으로 사용
'        If r_name = "" Then GoTo noname_error
'    p_name = r_name + ".jpg"                   '사진화일명 생성
    p_height = Selection.Height                '현재셀의 높이(사진 높이의 기준이 됨)
    p_width = Selection.Offset(0, 0).Width    '현재열의 너비(사진의 폭이됨)
   'p_width = Selection.Offset(0, -1).Width    '전열의 너비(사진의 폭이됨)
    
    
    'Application.Dialogs(xlDialogOpen).Show
    ins = Application.Dialogs(xlDialogInsertPicture).Show
    
   'ActiveSheet.Pictures.Insert(c_path + "\" + p_name).Select
    If ins Then
    With Selection
                  .ShapeRange.LockAspectRatio = msoFalse
                  .ShapeRange.Height = p_height * h_zoom - border * 2 '셀 높이 * 배율
                  .ShapeRange.Width = p_width - border * 2 '셀 너비 단위로 입력
                  .ShapeRange.IncrementLeft p_width * 0 '셀크기 단위로 그림 위치 이동
                  .ShapeRange.IncrementLeft border '셀크기 단위로 그림 위치 이동
                  .ShapeRange.IncrementTop border '셀크기 단위로 그림 위치 이동
                  .Placement = xlMoveAndSize '사진이 움직일 수 있도록
                  .PrintObject = True        ' 출력 가능
    End With
    End If
'    Range(prev_addr).Offset(h_zoom, 0).Select '다음 이름으로 이동

'    gostop = MsgBox("계속하시겠습니까?", vbYesNo, "Go? Stop?")
'    If gostop = vbYes Then GoTo Repeat
    
'Exit Sub

'Num_error:
'    MsgBox "숫자로 입력하셔야 합니다."
'    GoTo Input_p_heingt

'File_error:
'    MsgBox "사진화일이 동일 디렉토리에 없거나, 해당 인물의 사진화일명이 틀렸습니다." + Chr(13) + "(화일 이름은 해당인물의 이름으로 사용바랍니다.)"
'Exit Sub
'noname_error:
'    MsgBox "이름칸이 비어있습니다."
End Sub


'아래는 참고 함수임
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim rngTarget As Range
    Dim blnOk As Boolean
    Dim L, T, W, H
   
    Set rngTarget = Range("b10,g10,b30,g30") '작업범위설정
    If Union(Target, rngTarget).Address = rngTarget.Address Then '선택셀이 작업범위와 같다면
        With Target.MergeArea '선택셀의 크기를 변수에 담구
            L = .Left
            T = .Top
            W = .Width
            H = .Height
        End With
      
        blnOk = Application.Dialogs(xlDialogInsertPicture).Show '사진삽입대화상자
        If blnOk Then '사진을 입력했다면
            With Selection
                .ShapeRange.LockAspectRatio = msoFalse
                .Width = W
                .Height = H
                .Left = L
                .Top = T
                .TopLeftCell.Offset(0, 1).Select '
            End With
        End If
    End If
   
    Set rngTarget = Nothing '개체메모리 지우기
End Sub

'매크로' 카테고리의 다른 글

파일목록생성샘플  (0) 2008.10.06
filesearch 대용  (0) 2008.10.05
폴더 여는 매크로  (0) 2008.09.25
화일 이름 바꾸기 매크로  (1) 2008.09.22
macro 설명  (0) 2008.09.03