'엑셀'에 해당되는 글 3

  1. 2008.09.25 폴더 여는 매크로
  2. 2008.09.22 화일 이름 바꾸기 매크로 1
  3. 2008.09.02 엑셀 함수 목록
매크로 | Posted by lamie 2008. 9. 25. 18:14

폴더 여는 매크로

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

'32비트 API함수 선언
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

Sub dhTest()
    Dim strMsg As String
    Dim strT As String
    strMsg = "설치하려는 폴더를 선택하세요!"
     strT = getdirectory(strMsg)
     MsgBox strT
End Sub

Function getdirectory(Optional strMsg) As String
    Dim bInfo As BROWSEINFO
    Dim path As String
    Dim r As Long, x As Long, pos As Integer

   bInfo.pidlRoot = 0&


    If IsMissing(strMsg) Then
        bInfo.lpszTitle = "폴더를 선택하세요"
    Else
        bInfo.lpszTitle = strMsg
    End If
    
    bInfo.ulFlags = &H1

ChDir ThisWorkbook.path ' & "Temp"
    x = SHBrowseForFolder(bInfo)
'    x = SHBrowseForFolder()
    
    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

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

filesearch 대용  (0) 2008.10.05
사진 자동입력하는 매크로 - manual/auto  (0) 2008.09.25
화일 이름 바꾸기 매크로  (1) 2008.09.22
macro 설명  (0) 2008.09.03
엑셀 함수 목록  (0) 2008.09.02
매크로 | Posted by lamie 2008. 9. 22. 11:03

화일 이름 바꾸기 매크로

파란부분 path는 직접 손으로 쓰야 합니다......ㅡㅡㅋ


디렉토리네 화일을 a열에 읽어오는 메크로가   Sub 파일이름읽기() 이고

이거실행시킨후


b열에 작업한후  Sub 다른이름저장() 메크로를 실행합니다.

b열에 바꿀명 넣으면 화일명 변경하고 비워두면 그냥 지나갑니다.

*가 있으면 삭제합니다.  a열은 절대 변경하면 안돼고요


도구 메크로 비주얼베이직 에디터로 가셔서 왼쪽 탐색기창에 모듈삽입하고

아래 메크로 붙여넣으세요



Sub 파일이름읽기()

Dim mydir, Mypath, FileExt As String
Dim fs          As Object
Dim sFile       As Variant
Dim i, s          As Integer


mydir = "H:\새 폴더\mp3\z미정리곡\21212222"
s = Len(mydir)

FileExt = "*.*"                       '
Set fs = Application.FileSearch       ' 지정 디렉토리에서 지정한 형식의 파일을 찾음
  
With fs
  .NewSearch
  .LookIn = mydir
  .Filename = FileExt
  .SearchSubFolders = False
  .Execute
                   
  If .FoundFiles.Count = 0 Then      ' 지정 디렉토리에 파일 없을땐 끝냄
        MsgBox "디렉토리에 파일이 없습니다."
  End If
  Range("a:b").Clear
  Range("a1").Select
 
  For i = 1 To .FoundFiles.Count
       
      sFile = .FoundFiles(i)                          ' 찾은 파일
      Selection.Offset(i, 0) = Right(sFile, Len(sFile) - s - 1)
  Next i
 
End With
 
End Sub


Sub 다른이름저장()

Dim Oldname, NewName, mydir As String
Dim i, lastRow As Integer

Cells(Cells.Rows.Count, 1).End(xlUp).Select
lastRow = Selection.Row
mydir = "H:\새 폴더\mp3\z미정리곡\21212222"

Range("a1").Select
With Selection

For i = 1 To lastRow - 1
   Oldname = .Offset(i, 0).Value
   NewName = .Offset(i, 1)
   Oldname = mydir & "\" & Oldname
  
   If NewName = "*" Then
       Kill Oldname
   ElseIf NewName = "" Then
   Else
   NewName = mydir & "\" & NewName
   Name Oldname As NewName
   End If
  
Next i
파일이름읽기
End With

End Sub

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

filesearch 대용  (0) 2008.10.05
사진 자동입력하는 매크로 - manual/auto  (0) 2008.09.25
폴더 여는 매크로  (0) 2008.09.25
macro 설명  (0) 2008.09.03
엑셀 함수 목록  (0) 2008.09.02
2008. 9. 2. 07:53

엑셀 함수 목록

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