掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VBからエクセルファイルを読込み、エクセル内の文字を検索したい (ID:123793)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
お、すごい♪ とりあえず >サーバー内のあるフォルダ ってのが初耳なんで、ちょっと確認。ローカルのフォルダではなく、 外部のコンピュータを覗く場合、セキュリティ関係の問題が出てくる 場合があります。その辺りの話はネットワーク管理者の方とよく確認 しておいて下さい。今後とも、マイクロソフトはセキュリティ面を強化 していくと思われますので、そちらのお勉強も必要になるかもしれません。 ま、今のところ、対象フォルダの参照権限を持ってれば(エクスプローラ で対象フォルダを閲覧できていれば)大丈夫でしょう。 >しかし、あるサーバー内のあるフォルダの中のファイルを検索したいのですが、パスを指定する箇所がわかりません。 昨日、似たような質問がありました。自分以外の質問にも関連しそうな質問には 目を通しておきましょう。 http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200508/05080020.txt こちらの方はネットワークドライブを割り当てて、ローカルのフォルダと同じ様な 処理をされたようです。 基本的にネットワーク越しのアドレスは \\コンピュータ名\ドライブ名\フォルダ名\ファイル名 という形式で扱えます。 >利用したいフォルダ内にはいくつかフォルダがあり階層にもなっているので >それも検索できるようにしたいのです。 これはよくあるサンプルですね。色々な場面で使えますのでサンプルを 公開している方は多いでしょう。今回はじゃんぬさんのページをリンク させて貰いましょうか。感謝です♪ [ディレクトリ (フォルダ) 以下のファイルを最下層まで検索または取得する] http://jeanne.wankuma.com/tips/directory/15-getallfiles.html リンク先の一番下が[VB6.0]のコードです。 >検索結果としてB列やC列もMsgBoxに表示できるようにしたいのですが Range の指定時に列も指定すれば簡単に実現できますね。 変数の接頭詞の xl はエクセルの定数で使われているので使わないほうが いいです。ボクはローカル変数は work の意味で w を付けてます。 (モジュールレベル変数は m) あと、入力エラーチェックがありませんね。ファイルが存在しなかった時など 標準のエラー処理に任せず、自分でチェックするようにしましょう。 [VB6.0] Dim wMyRange As Range Dim wAnswerRange As Range Dim wColAlphabet As String Dim wFindAddress As String Dim wFindString As String Dim wFirstAddress As String wColAlphabet = InputBox("検索する列名をアルファベットで入力して下さい。") 'ここで入力エラーチェックするべきです。 wFindAddress = wColAlphabet & "1:" & wColAlphabet & "10" wFindString = InputBox("部番") Set wMyRange = Worksheets("Sheet1").Range(wFindAddress) ' answer = Application.WorksheetFunction.Find("Sheet1", wFindAddress, wFindString) With wMyRange Set wAnswerRange = .Find(wFindString, lookin:=Excel.XlFindLookIn.xlValues) If Not wAnswerRange Is Nothing Then wFirstAddress = wAnswerRange.Address MsgBox wFirstAddress Do Set wAnswerRange = .FindNext(wAnswerRange) If Not wAnswerRange Is Nothing And wAnswerRange.Address <> wFirstAddress Then MsgBox wAnswerRange.Address Else Exit Do End If Loop 'While Not wAnswerRange Is Nothing And wAnswerRange.Address <> wFirstAddress Else MsgBox "見つかりませんでした。" End If End With
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.