返回列表 上一主題 發帖

[發問] 請教 Combobox 字串判斷

[發問] 請教 Combobox 字串判斷

本帖最後由 mark15jill 於 2012-11-2 09:50 編輯

如題。
Q1若 Combobox1  讀取 資料夾內半不規則 的檔案名稱,請問要怎在 Combobox1 判斷不重複,並且在Combobox2篩選
例如
C:\imagelist_test\          內有以下檔案
099年度-01-001.jpg  ~  099年度-01-n.jpg  (n 為不定值整數,如 001 002 003 等等之類 )
099年度-02-001.jpg  ~  099年度-02-n.jpg  (n 為不定值整數,如 001 002 003 等等之類 )
099年度-03-001.jpg  ~  099年度-03-n.jpg  (n 為不定值整數,如 001 002 003 等等之類 )
099年度-04-001.jpg  ~  099年度-04-n.jpg  (n 為不定值整數,如 001 002 003 等等之類 )

在Combobox1 內已讀取 以上檔案:
099年度-01-001.jpg
099年度-01-002.jpg
099年度-01-003.jpg
099年度-01-004.jpg
099年度-02-001.jpg
099年度-02-002.jpg
099年度-02-003.jpg
099年度-02-004.jpg
099年度-03-001.jpg
099年度-03-002.jpg
099年度-03-003.jpg
099年度-03-004.jpg
099年度-04-001.jpg
099年度-04-002.jpg
099年度-04-003.jpg
099年度-04-004.jpg

要怎變成         
Combobox1讀取                       Combobox2(若選擇 099年度-01時候)
099年度-01                        099年度-01-001.jpg
099年度-02                        099年度-01-002.jpg
099年度-03                        099年度-01-003.jpg
099年度-04                        099年度-01-004.jpg
  1. '相關程式碼
  2. Private Sub cmdReadFileName_Click()
  3.     Dim strNowPath As String   '儲存目前檔案目錄
  4.     Dim strFileName As String   '讀取到的檔案名稱
  5.     Dim strFileExt As String    '檔案副檔名
  6.    

  7.     strNowPath = Range("B1")   '如果有設定以設定為主
  8.    
  9.     strFileExt = Range("b2")   '查詢檔案類型
  10.    
  11.     If Trim(strNowPath) = "" Then
  12.        strNowPath = Excel.ActiveWorkbook.Path
  13.     End If
  14.    
  15.    
  16.     n = 0
  17.    
  18.     Sheet3.Cells.Delete  '將之前的結果清除
  19.    
  20.     If Right(strNowPath, 1) = "\" Then
  21.         strFileName = Dir(strNowPath & strFileExt, vbDirectory)
  22.         strFileNameTime = strNowPath
  23.     Else
  24.         strFileName = Dir(strNowPath & "\" & strFileExt, vbDirectory)
  25.         strFileNameTime = strNowPath & "\"
  26.     End If
  27.    
  28.     While strFileName <> ""
  29.         If strFileName <> ActiveWorkbook.Name Then '這個檔案不要顯示
  30.             If strFileName <> "." And strFileName <> ".." Then
  31.                 n = n + 1
  32.                 Sheet3.Cells(n, 1).Value = n
  33.                 Sheet3.Cells(n, 2).Value = strFileName
  34.             End If
  35.         End If
  36.         strFileName = Dir() '讀取下一個檔案
  37.         'strFileNameTime = FileDateTime()
  38.     Wend
  39.    
  40.    
  41.     Exit Sub

  42. End Sub
複製代碼
Q2-1
若檔案名稱前段後段無規則,那要怎區分?
099年度-01月-x2x4sa1.jpg
099年度-10-x2x4se4.jpg
Q2-2
若檔案名稱前段後段無規則,那要怎區分?(若以-為分界點)
099年度-01月-x2x4sa1.jpg
099年度-10-x2x4se4.jpg

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

回復 2# GBKEE

感謝大大的教導。
抱歉 這幾天在忙沒上線 今天才看到,等等來去試驗 謝謝

  多做多想多學習,少看少錯少迷途

  多做=多多練習,多多編寫。
  多想=想想為什麼人家程式要那樣寫,如果換成自己,又會怎寫。
  多學習=學習人家的發問並解答,學習人家的寫法

  少看=只看不做也枉然

TOP

        靜思自在 : 生氣,就是拿別人的過錯來懲罰自己。
返回列表 上一主題