VBAの研究ノート(9) - 生成コーチング(1)VBAの研究ノート(9) - を生成コーチング(1)

説明(2017年3月26日):

1.完成していない、新しいフォルダを書き込み、それは多くの問題であるべきコーチング番号を与えるため、次の新しい単語は、コーチング、そこにコピーコーチングを見つけ、名前を変更

コードをコピー
  パブリックサブTEST1。1()
  2暗いパス
  3暗いファイル名
  。4薄暗いフォルダ(1〜100)
  。5%薄暗いI、J%
  。6 = I. 1 
  。7 1のJ = 
  8「1.すべてのフォルダ取得
  9パス=はThisWorkbookを。・パス「\ oriFolder \」
 10個のフォルダ(1)=経路
 11「ここで、次のクラスフォルダアレイアレイ100には、デバッグの利便性、又は時には空白行の数が多いために、長さのみで提供され、実際に増大させることができます。
 第二引数なしで呼び出さ12」dirが、第二のファイルの下で同じフォルダに戻ります!
 13 'ファイル名=ディレクトリ(フォルダ( I)、vbDirectory) ファイル名がフォルダへのフォルダ(1)パス内の最初のファイルを取得する。 "" 
 14' DIRを見つけるための最初のフォルダ""、そしてI = 1、 doループに入り、(101及び102)をこの層フォルダがDIR oriFolderは、 
 15「は、1(最後のJ = 3)により、フォルダプットjを見つけるために、(i)が変更されたフォルダを。 『』パスをこのようなことを行うまで、101,102ルートパスは、ループ内で行います
 ときに、ファイル名= DIR(フォルダ(I)16は、それまで行ってください」、Iが1に追加する、2は、となります、vbDirectory)、フォルダ(2)サイクルは、パス101で変更されるまで行うことで、
 17「が現在のループ、J = 3になるまで実行を継続し、その後増加し始め、目的のフォルダ(j)は、パスが追加の経路内のすべてのフォルダの後に例えば101のような要素のアレイを増加させるために今後も継続できるようにすることであり、
 18」iが3になり、 102は、フォルダ横断し始める
 「も存在する場合横断する他の上101、101及び102をフォルダので、各1つだけ私の増加、及びjは限りフォルダがインクリメントさがあるように、完成された、19を
 ので、20」限りトラバースされていたであろう、jの番号i何がダウンしていないとすべてのサブフォルダを取るようトラバース
 21ドゥをしながら、私は= J < 
 = 22名= DIR(フォルダ(I)、vbDirectory)」ファイル名を『』
 23ドまでのファイル名= "" 
 24 InStr関数(ファイル名が" ")= 0そして
 25 J = J + 1 
 26は、i = 1のとき、場合フォルダ(J)1,2,3は"、"、ディレクトリ101 
 27個のフォルダ(J)=フォルダ( 
 30ループ
 31、I = I + 1 
 32ループ
 28 END IF
 ディレクトリファイル名= 29 
 53ループ
 33「は、UBound関数するためにP = 1(フォルダ)が
 34である」の場合フォルダ(P)<>「」次に
 35「のDebug.Print(フォルダ(P))
 36」は、もしエンド
 37 [「次に
 各フォルダから2 38です」アレイ内にすべてのコースを取得し
 39薄暗いクラス(TO 100 1)
 40暗いクラス
 41が暗いPである
 薄暗いQであり、42 
 43は、P =である。1 
 44 = Qである。1 
 45 
 46のP = UBound関数である。1(フォルダ)
 47個のフォルダの場合(P )<> ""そして、
 48のDir =クラス(フォルダ(P)& "*。*")
 49ドゥクラスまで= "" 
 50クラス(Q)=フォルダ(P)&クラス
 51、Q = Q + 1つの
 52クラス= DIR 
 54 END IF 
 55次のページ
 56 
 57
 58「新しいフォルダ内の3 desFolder、生成コーチングRTF 
 59薄暗いのパス2 
 薄暗いAS正準相関の最初のセット60」
 61正規表現薄暗いREGようである
 62としてのMatchCollection暗いmyMatchesある
 63としての暗いmyMatchマッチで
 64冊の薄暗い書籍(TO。1 10 )
 65薄暗いbNumを
 66メートル薄暗い
 67薄暗いN- 
 68 1 = N 
 69 1、M = 
 70 1 bNumを= 
 「再度操作ワード71がAS暗いセット
 72薄暗いwordAppとしてのWord.Application 
 で73セットの新しいwordApp Word.Application = 
 74 =パス2 &ThisWorkbook.path "\ desFolder \" 
 75セットの新しい正規表現REGは= 
 76は、フォルダ名のすべてのバージョンを取得」
 77 FILENAME2 = DIR(パス、vbDirectory) 
 78ドゥFILENAME2まで= ""
 79の場合InStr関数(FILENAME2、 "")= 0次いで
 80書籍(bNumを)= FILENAME2 
 95 wordApp。Documents.Open(クラス(N))
 81 bNumを= bNumを+。1 
 82は、もしエンド
 83 FILENAME2 = DIR 
 84ループ
 85 'フォルダのバージョン生成desFolderで
 86メートル= 1 UBound関数(書籍)に
 87'書籍(m)が空でなく、フォルダが存在しません、新しいフォルダに
 88もし書籍(M)<> ""とdir(パス2&書籍(M)、vbDirectory)= ""そして、
 89は、MkDir(パス2&書籍(M))
 という名前の90の新しい単語、 "01_"星「_DianBo.doc」
 クラス1クラス-2 -1レビューレビュー- 91は、各クラスを開くコーチング見つけ、[1-1-2-1-1]コーチングの形式でワードにコピー、ユニット1は-最初のDIP 
 92 
 93 N-UBound関数させるために。1 =(クラス)
 94クラスの場合(N)<> ""次に
 96                  
 97もしエンド
 98を次に
 99 END IF 
100次へ
 96                  
101 '1 UBound関数についてXが=(クラス)に、
102'の場合クラス(X)<> ""次に
103' reg.Global =真のグローバルマッチング
104 'reg.IgnoreCase =真'がケースを無視
105' reg.Pattern = "(*)?_ 101 *「"正規表現
106'に設定myMatches = reg.Execute(クラス (x))を' マッチングセットmyMatchesの結果に戻る
myMatchesに各myMatch 107' '反復のmyMatchesセット
108' myMatch IF <> ""次に
109 'のDebug.Print(クラス(X))
IF 110'末端
111 '次に
112' 
113 'の場合終了
次に114' 
115 
1 16 End Subの

説明(2017年3月26日):

1.完成していない、新しいフォルダを書き込み、それは多くの問題であるべきコーチング番号を与えるため、次の新しい単語は、コーチング、そこにコピーコーチングを見つけ、名前を変更

コードをコピー
  パブリックサブTEST1。1()
  2暗いパス
  3暗いファイル名
  。4薄暗いフォルダ(1〜100)
  。5%薄暗いI、J%
  。6 = I. 1 
  。7 1のJ = 
  8「1.すべてのフォルダ取得
  9パス=はThisWorkbookを。・パス「\ oriFolder \」
 10個のフォルダ(1)=経路
 11「ここで、次のクラスフォルダアレイアレイ100には、デバッグの利便性、又は時には空白行の数が多いために、長さのみで提供され、実際に増大させることができます。
 第二引数なしで呼び出さ12」dirが、第二のファイルの下で同じフォルダに戻ります!
 13 'ファイル名=ディレクトリ(フォルダ( I)、vbDirectory) ファイル名がフォルダへのフォルダ(1)パス内の最初のファイルを取得する。 "" 
 14' DIRを見つけるための最初のフォルダ""、そしてI = 1、 doループに入り、(101及び102)をこの層フォルダがDIR oriFolderは、 
 15「は、1(最後のJ = 3)により、フォルダプットjを見つけるために、(i)が変更されたフォルダを。 『』パスをこのようなことを行うまで、101,102ルートパスは、ループ内で行います
 ときに、ファイル名= DIR(フォルダ(I)16は、それまで行ってください」、Iが1に追加する、2は、となります、vbDirectory)、フォルダ(2)サイクルは、パス101で変更されるまで行うことで、 
 17 「ループ、現在のJ = 3、および増加し始めるまで実行し続け、目的が追加パスのパス内のすべてのフォルダの後に例えば101のような要素のアレイを増加させるために将来的に継続するフォルダ(j)を作ることであり、
 次いで、iが3となる18」フォルダ横断102開始
 19「はフォルダ101、101および横断するために、他の上の102がある場合には、理由だけ1の各増加I、及びJであればインクリメントされたフォルダが存在するように、完成されている
 限り、20」私はjの数、それはトラバースされていますされていないダウンして行くとすべてのサブフォルダを取るトラバース
 21ドゥ私は= J <ながら
 22名= DIR(フォルダ(I)、vbDirectory)「ファイル名= 『』
 23名までですか= "" 
 24 InStr関数(ファイル名が" ")= 0そして
 25 J = J + 1 
 26は、i = 1のとき、場合フォルダ(J)1,2,3は"、"、ディレクトリ101 
 27フォルダ(J)=フォルダ(I )&ファイル名& "\" 
 28 END IF
 ディレクトリファイル名= 29  
 30ループ
 31、I = I + 1 
 32ループ
 33である'P =ためUBound関数。1(フォルダ)に
 34'であればフォルダ(P)<> ""次に
 35 'のDebug.Print(フォルダ(P))
 36'であれば終了
 37 [ '次に
 2. 38が'アレイへのすべてのコースの各フォルダの概要、
 39薄暗いクラス(TO 100 1)
 40暗いクラス
 41は、薄暗いPである
 42が暗いQである
 43は、P =である。1 
 44 = Qである。1 
 45 
 46のP = UBound関数である。1(フォルダ)
 47フォルダIF(P)<> ""そして、
 48のDir =クラス(フォルダ(P)& "*。*")
 49ドゥクラス=まで"" 
 50クラス(Q)=フォルダ(P)&クラス
 51、Q = Q + 1つの
 52クラス= DIR 
 53ループ
 54 END IF 
 55次のページ
 56 
 57 
 「コーチングRTF生成、新しいフォルダにdesFolder 3. 58 
 59薄暗いパス2 
 薄暗いAS正準相関の最初のセット60」を
 正規表現薄暗いREGとして61である
 62としてのMatchCollection暗いmyMatchesある
 63としての暗いmyMatchマッチで
 64薄暗いです書籍(10 1)
 65薄暗いbNumを
 66メートル薄暗い
 67薄暗いN- 
 68 1 = N 
 69 1、M = 
 70 1 bNumを= 
 71は薄暗いとして再度動作の組のワードである
 72薄暗いwordAppとしてのWord.Application 
 組wordApp =新しいWordは73であります.applicationのは、
 74パス2 = ThisWorkbook.path& "\ desFolder \" 
 75セットの新しい正規表現REGは= 
 76「フォルダ名のすべてのバージョンを取得
 77 FILENAME2 = DIR(パス、vbDirectory) 
 78ドゥFILENAME2まで= ""
 79の場合InStr関数(FILENAME2、 "")= 0次いで
 80書籍(bNumを)= FILENAME2 
 81 bNumを= bNumを+ 1 
 であれば端部82 
 83 FILENAME2を= DIR 
 84ループ
 85「は内部フォルダdesFolderのバージョンを生成
 するには、m = 1の場合86 UBound関数(ブックス)
 87「書籍(M)は空ではなく、フォルダが存在しない、新しいフォルダ
 88冊(M)の場合<> ""とのDir(パス2&書籍(M)、vbDirectory)= ""そして、 
 MkDir 89(パス2&書籍(M))
 90の新しい単語、名前の『01_』星『_DianBo.doc』
 91は「1-1-2-1-の形式で単語にコピーされたコーチングを見つけ、それぞれのクラスを開いて、コーチング[1]、ユニット1 -クラス1クラス-2 -1レビューレビュー- 1 DIP 
 92 
 93 = N-1 UBound関数(クラス)ためには
 94クラスであれば(N)<> ""そして
 95 wordApp。Documents.Open(クラス(N))
 96                  
 97もしエンド
 98を次に
 99 END IF 
100次へ
101 '1 UBound関数させるためにX =(クラス)
102'の場合クラス(X)<> ""次に
103' reg.Global =真のグローバルマッチング
104 'reg.IgnoreCase =真'が場合無視
' 105 reg.Pattern = "(*)?_ 101 *「"正規表現
106'に設定myMatches = reg.Execute(クラス (x))を' マッチングの結果に戻りmyMatchesセット
107' myMatches'反復のmyMatchesにおける収集のために各myMatch 
108を「場合myMatch <> 『』次に
109」のDebug.Print(クラス(X))
110「であれば終了
次に111」
112「
113」であれば終了
114「次に
115 
1 16エンドサブ

おすすめ

転載: www.cnblogs.com/medik/p/10989743.html