• 締切済み

Perl で Excelファイルからデータを検索、エラー表示

あるExcelファイルを利用してターミナル上で情報を出力出来るようにしたい。<<< ここまでは出来ていますが、 あとはいくつかの機能を付けたいのです。 下記の機能を追加したい: 1.検索文字列指定 -指定ありの場合、その文字列を検索対象とする 例えば:sun を検索対象文字列にする $./perl sun -指定なしの場合、文字列の入力を促す。 例えば:検索文字列? > (検索したい文字列を入力)  $./perl 検索文字列? > 入力がなくリターンのみで実行された場合にはコマンドを終了する。 2.エラー出力 -検索文字列が見つからないか、 入力ミスによるエラーを表示

  • us_g
  • お礼率0% (0/1)
  • Perl
  • 回答数1
  • ありがとう数0

みんなの回答

  • agharta
  • ベストアンサー率52% (54/103)
回答No.1

こんな感じでしょうか? $|=1; print "検索文字列? >"; chomp( $keyword = <STDIN> ); exit if ( $keyword eq '');

関連するQ&A

  • perlでの検索機能

    ホームページで使うPerlでの検索機能を作成しています。 メタキャラクタへの対応で検索対象文字には下記コードの置換を行っています。 「+」だけが上手く変換されないのは何故でしょうか。 (変換後を出力すると半角の空白になっています) $val =~ s/([\^\$\+\?\.\*\(\)\[\]\{\}\|\\])/\\$1/g; ※検索対象文字は「EUC」に変換しています。 また、上記コードに追加すべき文字が何かありますか。

    • ベストアンサー
    • Perl
  • ターミナルに表示された文字をファイルに保存するコマンド

    ターミナルにキータイプして入力した文字や、ターミナルに表示される標準出力、標準エラー出力を全て1つのファイルに保存するようなUNIXのコマンドがあったような気がするのですが、なんだったか教えていただけないでしょうか?

  • エクセル2007VBAで検索するコードを知りたい。

    エクセル2007(Excel2007)のVBAで【検索と置換】と同等の機能をもった検索アプリケーションを作りたいのですが、 そのコード(コマンドボタンを実行したときのコード)を教えていただけないでしょうか。 (おそらくですが、リストボックスのコードも必要だと思います。) 正しくは、【検索と置換】から【置換】機能を無くしたものとイメージしていただきたいです。 ●設置するもの ユーザーフォーム(UserForm1) テキストボックス(TextBox1) コマンドボタン(CommandButton1) リストボックス(ListBox1) ●仕様 ユーザーフォームのテキストボックスに入力してコマンドボタンを押すと、検索対象を見つけ、 リストボックスにその対象一覧を行ごとに表示するものになります。 ●検索するときの条件 (1)大文字と小文字を区別しない (2)半角と全角を区別しない (3)部分一致すれば(一部でも一致すれば)検索対象にする (4)今、開いているワークシート上の「全てのセルが検索対象(列や行を指定しない)」 ※検索されたセルの存在する行ごとに、ユーザーフォームのリストボックスに(1行ずつ)表示したいです。 そして、リストボックスに表示されたデータのうち、どれか1つを選ぶと、その選択対象の行の【D列】にアクティブセルを移動するようにしたいです(画面もアクティブセルが見える位置にスクロールします)。 ●リストボックスに(1行ごとに)表示するもの● ↓↓↓ (左から)I列の値、D列の値、O列の値、Q列の値(→4列の値になります) ※リストボックスにQ列の値が表示された場合のみ(Q列に何かしらのデータがある場合のみ)、 リストボックス上の【その行の(I列の値、D列の値、O列の値、Q列の値の)文字すべてを赤色】にして表示していただきたいです。 分かる方がいましたらよろしくお願いいたします。

  • perlでxmlファイルを検索して表示する方法

    perlであるxmlファイルを検索して xmlファイルを表示する方法についてお伺いします c:\ -A --X 1.xml 2.jpg 3.jpg --Y --Z このような構造でxからzまでのディレクトリをさがして 「.xml」のファイルの中にある文字列「uuuuu」があれば そのファイルのリストを出力して、クリックすると表示 させたいのですが、perlでできますでしょうか このときファイルのリストを出力するときに 実際のファイル名を.xmlにある特定のタグについて囲まれた 文字列を表示したいと思っています。 (<name>abcde</name>) また「uuuuu」は任意で入力を要求するようにしたいと 思っています。 私ができることはテキストファイルの中身を表示するくらいです open (FILE, 'c:\A\X\1.xml') or die "$!"; while (my $line = <FILE>){ chomp $line; print "$line\n"; } close (FILE); ほかにこのような参考書、urlなどありましたら教えて いただけると幸いです よろしくお願いします

  • Excelファイル内の検索マクロがエラーになってしまいますので、その解

    Excelファイル内の検索マクロがエラーになってしまいますので、その解決方法を教えて戴きたいと思います。 (ExcelのVer.はPCによって異なり2002と2003です) 現在3つのExcelシートがありまして、内訳は ・検索.xls : 検索文字列入力用、マクロ実行用 ・文字列が含まれない.xls : データベース(検索文字列が含まれない) ・文字列が含まれる.xls : データベース(検索文字列が含まれる) となっております。 (デバッグの為にデータベースは意図的に作成しております) ここで『検索.xls』のマクロで以下のように作成をしてみました。 Sub 検索() Dim SearchWord As String Workbooks("検索.xls").Activate SearchWord = Worksheets("Sheet1").Cells(1, 1) ' 検索.xlsのSheet1のA1に検索文字入力 Workbooks.Open Filename:="D:\文字列が含まれない.xls" Windows("文字列が含まれない.xls").Activate Cells.Find(What:=SearchWord).Activate Workbooks.Open Filename:="D:\文字列が含まれる.xls" Windows("文字列が含まれる.xls").Activate Cells.Find(What:=SearchWord).Activate End Sub しかし、このマクロを実行しますと『文字列が含まれない.xls』の処理でエラーになってしまいます。 この『文字列が含まれない.xls』の処理をコメントアウトしますと『文字列が含まれる.xls』の処理はちゃんと実行してくれますので、データベースに検索文字が無かった場合の処理のさせかたが問題だとは思うのですけど、ネット検索をしても、上手なキーワードが思い浮かばずに欲しい情報がヒットしてくれません。 なにか単純な問題だと思うのですけれども、Excelにお詳しいかたがいらっしゃいましたら、回避策を教えて戴きたいと思います。

  • Perlでの検索

    はじめまして。 Perlにて、テキストから "xxxx ∧ xxx ∨ xxx" という形の文字列を検索しようと思っており、 whileやifなどで while(またはif)($hoge =~ /xxxx ∧/g){... という検索をしても文字列一致しません。 どうやら∧や∨という記号の文字を認識していない ようなのですが、どのように解決すればよいのでしょうか? もしかしたらJ-Codeなどを使って、文字コードを 変えなければならなかったりするのでしょうか? お返事お待ちしております。よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • ファイルの検索について

    パソコン内のファイルを検索するとき、以前は文字列を指定して、その文字列をファイルの内容に含むファイル名を検索できました。今、Windous7ではその機能が無いようですが、何か方法がありませんか。

  • エクセルで文字検索を簡単に。

    エクセルで文字検索を簡単にする方法はありますか? B列2行目以降に年月日(曜日)・・・同じ年月日(曜日)の行がたくさんある場合もあります。 C列以降はB列に関する文字が入力されています。 検索対象は年月ですが、検索するのに標準コマンドで検索すればよいことかと思いますが、年月日(曜日)がかなり増え、簡単に検索する方法がないかと、ネットなどで調べましたがなかなかヒットしません。 H19年4月、5月・・・H20年1月、2月・・・・○○年月の文字を1行目に作成し、その文字をクリックすると該当する年月の行の始まりまたは、該当する年月の行のいずれかを表示させる方法はありますでしょうか? エクセルは2000です。 参考サイト等ご存じでしたらよろしくお願いします。

  • エクセルの検索方法

    ある列に文字列が入力されているのですが、いくつかのセルに、「?」マークが入力されています。 このセルを特定したいのですが、検索と置換メニューからそれを探す事は出来ますか? 検索する文字列として「?」を指定すると、?マークが含まれていないセルまで結果として表示されてしまいます。エスケープするなどの方法があるのでしょうか? よろしくお願いします。

  • Excelでひらがなで検索すると

    Excel2000です。 検索(コントロール+F)で、 「検索する文字列」にひらがなを入れると、漢字を検索します。 例えば、「検索する文字列」に「どうさ」と入れると、 「動作」という漢字を検索します。 「さ」でも「動作」というセルを検索します。 ちなみに、セルに「動く作る」と入力して「く」と「る」を消した場合、 このセルは「どうさ」で検索できません。 「検索する文字列」どおりの文字を検索する (つまり、「どうさ」で「動作」を検索しないようにする) には、どうすればよいのですか。 「どうされますか」のように、一部に「どうさ」を含むセルは検索するようにして下さい。 検索時に、 「対象」を数式にしても値にしても同じです。 MS-IME97 WinNT4.0

専門家に質問してみよう