ªð¦^¦Cªí ¤W¤@¥DÃD µo©«

[µo°Ý] ChDrive/ ChDir°ÝÃD

¦^´_ 1# acdx
ChDrive : §ïÅܤu§@ºÏºÐ¾÷
ChDir : §ïÅܤu§@¥Ø¿ý
¨ÌÃD¥Øªº·N«ä¬O§Æ±æ GetOpenFilename ¿ï¾ÜÀɮ׮ɪº¹w³]¸ô®|¬°¸ÓÀɸô®|¡A
¦ý·íÀɮצb¤À¨É¸ê®Æ§¨(¸ô¸g³q±`¬° "\\¹q¸£¦WºÙ\¸ê®Æ§¨¸ô®|\ÀÉ®×")
µLªk¥ÎChDir¤Á´«¤u§@¥Ø¿ý¨ì "\\¹q¸£¦WºÙ\¸ê®Æ§¨¸ô®|\"

´À¥N¤èªk¡A³oÃäÁ|¨âºØ :
1. §ï¥Î Application.FileDialog(msoFileDialogOpen)¡AFileDialog¥i¥Hª½±µ³]©wInitialFileName
  1. Sub m1()
  2.     Dim filename As String
  3.     With Application.FileDialog(msoFileDialogOpen)
  4.         .AllowMultiSelect = False
  5.         .InitialFileName = ActiveWorkbook.Path
  6.         .Filters.Clear
  7.         .Filters.Add "Excel files", "*.xlsx;*.xls"
  8.         .Show

  9.         If .SelectedItems.Count = 0 Then Exit Sub   'cancel
  10.         filename = .SelectedItems(1)
  11.     End With
  12.    
  13.     MsgBox filename
  14. End Sub
½Æ»s¥N½X
2. ¥Î windows API : SetCurrentDirectory¤Á´«¤u§@¥Ø¿ý¡A¦A¥Î GetOpenFilename
  1. Private Declare Function SetCurrentDirectory Lib "kernel32" _
  2. Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long

  3. Sub m2()
  4.     Dim filt As String, filename As String
  5.     SetCurrentDirectory ActiveWorkbook.Path
  6.     filt = "excel files (*.xls;*.xlsx),*.xls;*.xlsx"
  7.     filename = Application.GetOpenFilename(FileFilter:=filt, FilterIndex:=5, Title:="¿ï¾ÜÀÉ®×", MultiSelect:=True)
  8. End Sub
½Æ»s¥N½X
ªí¹F¤£²M¡BÃD·N¤£©ú½T¡B¨SªþÀɮ׮榡¡B¨S¦³°Q½×°ÝÃDªººA«×~~~~~~¥H¤W·R²ö¯à§U¡C

TOP

        ÀR«ä¦Û¦b : ¤â¤ß¦V¤U¬O§U¤H¡A¤â¤ß¦V¤W¬O¨D¤H¡F§U¤H§Ö¼Ö¡A¨D¤Hµh­W¡C
ªð¦^¦Cªí ¤W¤@¥DÃD