C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

全過去ログを検索

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 >>
■56256  製品リスト作成
□投稿者/ kyo -(2011/01/07(Fri) 00:19:27)

    分類:[.NET 全般] 

    仕事が小ロット多品種の仕事をしております。
    製品については特定の雛形のエクセルのファイルを1品種1ファイルで記録してあります。
    この雛形にしてから、
    登録された製品数が100をこえました。
    類似品も多いのですが、
    個別のファイルで登録しているため、
    比較ができなくなってしまいました。
    製品ファイルは、

    @マイナー変更も含め、日々更新されます
    Aファイル名に統一性はありません
    Bファイルはすべてサーバー上の特定のフォルダ内に置いてあります
    C製品データはすべて同じ形式で保存してます

    VBA等の手法を用いて必要なときにデータ取り込みを行い、
    必要な項目のみリスト化できないかと考えております。

    どなたか、VBA等の手法を用いて、
    解決できないでしょうか。

親記事 /過去ログ94より / 関連記事表示
削除チェック/

■56259  Re[1]: 製品リスト作成
□投稿者/ よねKEN -(2011/01/07(Fri) 01:18:30)
    2011/01/07(Fri) 01:25:03 編集(投稿者)

    #回答ではありません。

    No56256 (kyo さん) に返信
    > どなたか、VBA等の手法を用いて、
    > 解決できないでしょうか。

    VBAがどうという前に、ご説明の内容が私にはさっぱり理解できませんでした。
    わかる人にはひょっとしたらわかるのかもしれませんが、ここでの投稿文だけが手がかりですので、
    もう少し噛み砕いて説明していただかないと手助けは難しいのではないでしょうか。

    ◆以下、疑問に思った内容 -- 本題にあまり関係ない疑問も含まれていますが、
     ご説明を理解する上で、??と思ったところです。
     一つ一つにご返答いただくより、一度整理した上で一からご説明しなおされた方がよいかと思います。
     (そのときには具体例を十分に交えて頂くと理解が早いと思います)

    > 仕事が小ロット多品種の仕事をしております。

    (1) 「小ロット多品種の仕事」って何でしょう?
    業種が製造業の方で、システム開発を仕事にされている方ではない、という意味でしょうか?

    > 製品については特定の雛形のエクセルのファイルを1品種1ファイルで記録してあります。

    (2) 製品の種類(=品種)がたとえば10種あるとしたら、10個の雛形のxlsファイル
    (例えば、以下のようなファイル(名前に意味はありません))があるということでしょうか。

    雛形1.xls
    雛形2.xls
    雛形3.xls

    雛形10.xls

    > この雛形にしてから、
    > 登録された製品数が100をこえました。

    (3) ここでいう製品数というのは製品の数量ではなく、品種の数のことでいいんですよね?

    > 類似品も多いのですが、
    > 個別のファイルで登録しているため、
    > 比較ができなくなってしまいました。

    (4) 以前は比較できていたのですか?できていたなら、どうやって比較されていたのでしょう?
    (5) また、そのことは「個別のファイルで登録している」かどうかにどう関係があるのでしょうか?
    (6) 個別のファイルで登録とはどういう作業を意味していますか?
     - たとえば、「雛形1.xls」に直接何かを入力する作業をさしているのか
     - あるいは、「雛形1.xls」をコピーして名称を変えて「雛形1から作ったA.xls」(ファイル名に意味はありません)
      を新たに作成し、そこに何か入力するような作業をさしているのでしょうか
     - あるいは、もっと別の作業なのか

    > 製品ファイルは、
    >
    > @マイナー変更も含め、日々更新されます
    (7) マイナー変更って何ですか?「何が」日々更新されるのですか?
    「何が」というのはkyoさんの言うところの「製品データ」だと思いますが、
      疑問なのかそれが「雛形1.xls」なのか「雛形1から作ったA.xls」なのか、といった
      具体的にはどのファイルなのか、という点です。

    > Aファイル名に統一性はありません
    > Bファイルはすべてサーバー上の特定のフォルダ内に置いてあります
    > C製品データはすべて同じ形式で保存してます

    (8) 製品データとは何ですか?↑の例で言うと、雛形1.xls?雛形1から作ったA.xls?その他?
    (9) すべて同じ形式とは何を指していますか? ファイルの種類(.xlsといったもの)でしょうか?
    それともある種の製品はすべて雛形1.xlsを利用、別の種の製品はすべて雛形2.xlsを利用・・・といったようなことでしょうか?

    > VBA等の手法を用いて必要なときにデータ取り込みを行い、

    (10) 「データ取り込み」とおっしゃっているのは何から何にですか?

    > 必要な項目のみリスト化できないかと考えております。

    (11) リスト化っていうのはどういうものをイメージされていますか?
記事No.56256 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56263  Re[2]: 製品リスト作成
□投稿者/ マサヤ -(2011/01/07(Fri) 09:24:51)
    >小ロット多品種
    イメージとして、コーラ1ケースが3個とかで、たくさん種類があるってことでしょうか?
    [コーラ] コカコーラ、ジョルト、タブクリア、ペプシコーラとか。

    >ファイル名に統一性はありません
    >1品種1ファイルで記録してあります。
    品種名でファイル名を決めているのではないのでしょうか?

    >必要な項目のみリスト化
    それがExcelで記載されているならば可能です。

    質問項目が.Netとなっておりますが、VBAでできますか?という質問なので、
    .Netでシステム化するというお話ではないのでしょうか?

記事No.56256 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56288  Re[3]: 製品リスト作成
□投稿者/ kyo -(2011/01/07(Fri) 22:26:16)
    わかりにくくて申し訳ありません。

    製造業で、サイズ違い、色違い、材料種違い、入り数等の仕様の組み合わせで

    小さいロットでたくさんの種類を作っております。

    (違うところがあれば、違う製品として取り扱っています。)

    製品のサイズ、色などの情報はエクセルのファイル1品種につき1ファイルで保存されており、

    会社のLAN内のサーバーに保管されております。

    A.xls
    B.xls
    C.xls


    すべてのファイルは

    A1には品名、
    B2には値段
    A3には仕様
    A5にはいり数

    と統一した形で保存されています。

    これを

    品名  値段  いり数  使用
    A    12  100  aa
    B    23  104  bb 
    C    34  105  cc

    といった感じのエクセルの一つの表に取りまとめたいと思っております。

    必要に応じて最新版に作りなさなければならず、

    つど、手入力は難しいと考えております。

    何か良い方法があればと思い書き込みました。

    わかりにくくて大変申し訳ありません。

    妙案があればご教授願います。




記事No.56256 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56292  Re[4]: 製品リスト作成
□投稿者/ よねKEN -(2011/01/07(Fri) 23:42:49)
    No56288 (kyo さん) に返信
    > わかりにくくて申し訳ありません。

    説明しなおして頂いてやりたいことは十分わかりました。
    それで、Excel VBA(Excel マクロ)で実現するにあたってどういったところがわからないのでしょうか?

    おおまかな流れを書くと以下のような手順で考えていけば実現できると思います。
    【準備】
    ・1つの表にまとめた結果を出力するxlsファイル(「まとめ用xlsファイル」と呼ぶことにします)を用意します。
    ・「まとめ用xlsファイル」には「まとめ用シート」を用意し、
    その先頭行には「品名」「値段」「入数」「使用」というテキストをあらかじめ設定しておきます。
    ※Excel VBAの処理はこのxlsファイルに書きます。

    【Excel VBAでの処理の流れ】
    (1) 指定のディレクトリ(会社のLAN内のサーバーの保管場所)の直下のxlsを調べます。
    (A.xls、B.xlsといったファイルパスの情報を配列などに一覧化します)

    (2) 調べ上げた個々のxlsファイル一つ一つに対して以降の処理を行います。
    (個々のxlsファイルのことを「処理対象のxlsファイル」と呼ぶことにします。
    今何ファイル目を処理しているかという値をNとします。)

    (3) 「処理対象のxlsファイル」の該当シートから品名(A1セル)、値段(B2セル)、仕様(A3セル)、入数(A5セル)の値を取得し、
    「まとめ用xlsファイル」の「まとめ用シート」の(N+1)行目のA列から順に品名、値段、仕様、入数をセルに設定します。

    (4) (1)で一覧化したファイル数分だけ(3)を繰り返します。

    > 必要に応じて最新版に作りなさなければならず、
    >
    > つど、手入力は難しいと考えております。

    最新版にしたいときには都度、このExcel マクロを実行しなせば最新のリストになります。
記事No.56256 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56294  Re[5]: 製品リスト作成
□投稿者/ やじゅ -(2011/01/08(Sat) 02:31:04)
>
    > ■No56288 (kyo さん) に返信

    複数のExcelファイルを集約して1つのExcelファイルにするWHSスクリプトを作って公開してあります。
    使い方とファイルは、http://blog.yaju.jp/200810/article_18.html

    入力するシート番号は1からになります。
    今のところ拡張子が"xls"のみ対応になっていますが、プログラムの中で"xls"→"xlsx"にすれば新しいExcelファイルにも対応できると思います。



記事No.56256 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56359  Re[6]: 製品リスト作成
□投稿者/ kyo -(2011/01/11(Tue) 21:08:27)
    お世話になっております。

    いろいろとありがとうございます。
    ご教授いただいた内容を週末に考えてみました。
    というか、net上で似たようなものを組み合わせて作ってみました。

    > 【Excel VBAでの処理の流れ】
    > (1) 指定のディレクトリ(会社のLAN内のサーバーの保管場所)の直下のxlsを調べます。
    > (A.xls、B.xlsといったファイルパスの情報を配列などに一覧化します)
    >


    この部分は以下で対応できているのではないかと考えております。

    Sub MakeFileList()

    Target = InputBox("ディレクトリ名を入力", "ディレクトリの指定", "\\a0nd155\△\△△△△ファイル")

    Set FS = CreateObject("Scripting.FileSystemObject")
    Set Fol = FS.GetFolder(Target)
    Set Fil = Fol.Files
    ThisWorkbook.Sheets("Sheet1").UsedRange.Delete

    '見出しを付ける
    ThisWorkbook.Sheets(1).Range("B2") = "ファイル名"
    ThisWorkbook.Sheets(1).Range("C2") = "ファイル種別"
    ThisWorkbook.Sheets(1).Range("D2") = "最終更新日"
    ThisWorkbook.Sheets(1).Range("E2") = "説明"
    ThisWorkbook.Sheets(1).Range("B2:E2").Interior.Color = RGB(0, 0, 0)
    ThisWorkbook.Sheets(1).Range("B2:E2").Font.Color = RGB(255, 255, 255)
    ThisWorkbook.Sheets(1).Range("B2:Es2").HorizontalAlignment = xlCenter

    i = 3
    For Each Fx In Fil
    'ファイル名
    sFile = Fx.Name
    'ファイル名の書き出し
    ThisWorkbook.Sheets(1).Cells(i, 2) = sFile
    'ファイル種別
    sFType = Fx.Type
    '最終更新日時の書き出し
    ThisWorkbook.Sheets(1).Cells(i, 3) = sFType
    '最終更新日
    sLMod = Fx.DateLastModified

    ThisWorkbook.Sheets(1).Cells(i, 4) = sLMod
    i = i + 1
    Next
    End Sub



    が、以下の部分は、操作のイメージが湧かず、
    ご教授いただいた処置ができませんでした。
    今のところ、sheet1にファイル名の羅列はできております。
    そこから先ですが、処置についてヒントだけでも教えていただけないでしょうか。



    > (2) 調べ上げた個々のxlsファイル一つ一つに対して以降の処理を行います。
    > (個々のxlsファイルのことを「処理対象のxlsファイル」と呼ぶことにします。
    > 今何ファイル目を処理しているかという値をNとします。)
    >
    > (3) 「処理対象のxlsファイル」の該当シートから品名(A1セル)、値段(B2セル)、仕様(A3セル)、入数(A5セル)の値を取得し、
    > 「まとめ用xlsファイル」の「まとめ用シート」の(N+1)行目のA列から順に品名、値段、仕様、入数をセルに設定します。
    >
    > (4) (1)で一覧化したファイル数分だけ(3)を繰り返します。
記事No.56256 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56370  Re[7]: 製品リスト作成
□投稿者/ よねKEN -(2011/01/12(Wed) 09:04:46)
    あまり時間がないので簡単にヒントだけ。

    No56359 (kyo さん) に返信
    Fxで取得したxlsファイルのパスを利用して、
    Workbooks.Openメソッドでブックを開きます。

    > 'ファイル名の書き出し
    > ThisWorkbook.Sheets(1).Cells(i, 2) = sFile

    開いたブックに対しても上記のような処理ができますので、
    開いたブック.Sheets(1).Cells(x, y)
    のような形で

    > 品名(A1セル)、値段(B2セル)、仕様(A3セル)、入数(A5セル)

    所定のセルの値を取得しましょう。
記事No.56256 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56342  式木
□投稿者/ にぅたん -(2011/01/11(Tue) 12:24:42)

    分類:[.NET 全般] 

    式木(Expression Tree)って、なんて読んだらいいんでしょうか。
    しきき?しきぎ?しきもく?しきぼく?
親記事 /過去ログ94より / 関連記事表示
削除チェック/

■56343  Re[1]: 式木
□投稿者/ よねKEN -(2011/01/11(Tue) 12:42:15)
    No56342 (にぅたん さん) に返信
    > 式木(Expression Tree)って、なんて読んだらいいんでしょうか。
    > しきき?しきぎ?しきもく?しきぼく?

    個人的には「しきぎ」に一票を投じておきます。

    「式木」は「Expression Tree」という新しい用語に対して
    誰かが付けた新しい和訳ですので、これが正解という読み方は決まっていないと思います。
    多くの人が支持する読み方が正解になっていくと思います。

    日本語の熟語の多数派で言うと音読み+音読みという組み合わせになるようですが、
    そのルールを適用した場合、「式木」=「しきぼく」となります。
    しかし、情報処理の用語としての「木」は「き」と読まれるのが普通で、
    用語としての歴史のある「構文木」も「こうぶんぎ」ですので、
    自然と「しきぎ」と読むことになろうかと思います。

    【参考情報】

    http://ja.wiktionary.org/wiki/%E5%BC%8F#.E7.99.BA.E9.9F.B3


    http://ja.wiktionary.org/wiki/%E6%9C%A8

    熟語
    http://ja.wikipedia.org/wiki/%E7%86%9F%E8%AA%9E_(%E6%BC%A2%E5%AD%97)#.E6.97.A5.E6.9C.AC.E8.AA.9E

    音読み
    http://ja.wikipedia.org/wiki/%E9%9F%B3%E8%AA%AD%E3%81%BF
記事No.56342 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56345  Re[2]: 式木
□投稿者/ にぅたん -(2011/01/11(Tue) 13:32:58)
    なるほど、「木構造」も「きこうぞう」と読むみたいですし、
    「き」では読みにくいので、「ぎ」が有力そうですね。
    ありがとうございました。
記事No.56342 のレス / END /過去ログ94より / 関連記事表示
削除チェック/

■56374  Re[2]: 式木
□投稿者/ aetos -(2011/01/12(Wed) 11:10:19)
    2011/01/12(Wed) 11:10:29 編集(投稿者)

    No56343 (よねKEN さん) に返信
    > ■No56342 (にぅたん さん) に返信
    >>式木(Expression Tree)って、なんて読んだらいいんでしょうか。
    >>しきき?しきぎ?しきもく?しきぼく?
    >
    > 個人的には「しきぎ」に一票を投じておきます。

    個人的には「しきき」だと思ってました。構文木も「こうぶんき」。
    でも、「○○木」って「ぎ」って濁るのが普通ですかね。枕木とか、添木とか。
記事No.56342 のレス / END /過去ログ94より / 関連記事表示
削除チェック/

■56347  VS2008 デバッグ時に動いている.exeについて
□投稿者/ hs -(2011/01/11(Tue) 15:14:20)

    分類:[VB.NET/VB2005 以降] 

    VS2008
    VB

    いつもお世話になっております。

    VS2008でデバッグ開始を行った際、開発ファイルの "プロジェクト名\プロジェクト名\bin\debug\プロジェクト名.exe" が作成されます。
    今まで、私は上記パスのexeファイルがVSより実行されているものだと認識しておりました。

    今回DEPを無効にする必要があるものを開発しており、上記パスのexeファイルのDEPを無効にしてVSよりデバッグ開始を行いました。
    すると、DEPが無効になりませんでした。
    試しに、上記パスのexeを直接実行したところDEPは無効になっており正常に動きました。

    VS2008でデバッグ開始を行った際、どこにexeが生成され、また、どのexeが実行されるのでしょうか?

    さらに、インストーラをセットアップで作成する際、どのexeがインストーラに組み込まれるものなのでしょうか?

    よろしくお願いします。
親記事 /過去ログ94より / 関連記事表示
削除チェック/

■56349  Re[1]: VS2008 デバッグ時に動いている.exeについて
□投稿者/ todo -(2011/01/11(Tue) 15:59:44)
記事No.56347 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56350  Re[1]: VS2008 デバッグ時に動いている.exeについて
□投稿者/ 魔界の仮面弁士 -(2011/01/11(Tue) 16:02:52)
    No56347 (hs さん) に返信
    > VS2008でデバッグ開始を行った際、開発ファイルの "プロジェクト名\プロジェクト名\bin\debug\プロジェクト名.exe" が作成されます。
    > 今まで、私は上記パスのexeファイルがVSより実行されているものだと認識しておりました。

    [Visual Studio ホスティング プロセスを有効にする]チェックボックスが On になっている場合は、
    プロジェクト名.vshost.exe の方では無いでしょうか。
    http://www.atmarkit.co.jp/fdotnet/dotnettips/410vshost/vshost.html
記事No.56347 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56383  Re[2]: VS2008 デバッグ時に動いている.exeについて
□投稿者/ hs -(2011/01/12(Wed) 14:00:07)
    No56349 (todo さん) に返信
    No56350 (魔界の仮面弁士 さん) に返信

    ホストプロセス
    今回初めて知りました!

    今まで何も考えずに、デバッグ開始を行い自動でexeができ、インストーラを作る際もそのexeがインストーラーに自動で組み込まれる。
    ただ、便利なソフトだなぁ〜とVSを使用しておりました。

    また、今回exeのDEPを無効にしていたのは、bin\Debug\○○○.exeのみを行っておりインストーラーに組み込まれるexeのターゲットが別のものだったとわかりました。
    bin\Release, obj\Debug, obj\Release 等にも○○○.exeが作成されており、これらにもそれぞれDEPを無効化する事で、インストールされるexeのDEPを無効にすることができました。

    プロジェクト自体のプロパティはほとんど変更したことがなく、変更する事があるもの以外は一度も調査したことがありませんでした^^;
    また1つ勉強になりました。ありがとうございます。

    また何かあった時はよろしくお願いいたします。
記事No.56347 のレス / END /過去ログ94より / 関連記事表示
削除チェック/

■56371  コントロールの取得順番
□投稿者/ ぽん -(2011/01/12(Wed) 09:50:59)

    分類:[.NET 全般] 

    現在フォームの中にグループボックスがありまして、その中に4つのコンボボックスと4つのテキストボックスが存在しています。
    そこでforeach文を用いて、グループボックスからコンボボックスのみを取り出し、取り出したコンボボックスのSelectedValueプロパティを
    取得したいと思っています。
    以下でSelectedValueプロパティの値を取得出来たのですが、少し問題がありまして質問させていただきました。

    DataRow dRow;
    foreach (Control item in groupBox1.Controls)
    {
    ComboBox comboBox = item as ComboBox;
    if (comboBox != null)
    {
    dRow["player_id"] = comboBox.SelectedValue;
    // 以下略
    }
    }

    4つのコンボボックスはそれぞれDBから名前をバインドしております。(DisplayMemberに名前)(ValueMemberにID)
    その際にどのような順番でコンボボックスのSelectedValueプロパティの値が取得出来るのでしょうか?

    私がデバッグしている時はcomboBox1の後にcomboBox3のIDを取ったりしているので、
    comboBox1、2、3、4と順番にSelectedValueの値を取得したいと思っております。

    また、その順番を変更するようなことは可能なのでしょうか?
    よろしくお願い致します。
親記事 /過去ログ94より / 関連記事表示
削除チェック/

■56372  Re[1]: コントロールの取得順番
□投稿者/ マサヤ -(2011/01/12(Wed) 10:37:21)
記事No.56371 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56375  Re[2]: コントロールの取得順番
□投稿者/ ぽん -(2011/01/12(Wed) 12:06:41)
    No56372 (マサヤ さん) に返信

    マサヤさんいつもお世話になっております。

    > DataTableなどに取得した後にソートしてはいかがでしょうか?
    > http://www.atmarkit.co.jp/fdotnet/dotnettips/363dtsort/dtsort.html
    やりたいことはcomboBox1のSelectedValueを取得、comboBox2SelectedValueを取得
    というように1〜4まであるcomboBoxのSelectedValueを順番に取得したいです。

    こういうことは出来るのでしょうか?
    データテーブルのデータの中身をソートしても意味がないような気がするのですが、気のせいでしょうか?

    > また、現状のソースをみますと、最終のコンボボックスの値しかDataRowに入りませんが、問題ないのでしょうか?
    ループ内でNewRow();を行っているので問題ないと思います。

    分かりにくくてすみません(TT)
記事No.56371 のレス /過去ログ94より / 関連記事表示
削除チェック/

■56376  Re[3]: コントロールの取得順番
□投稿者/ 魔界の仮面弁士 -(2011/01/12(Wed) 12:16:11)
    No56375 (ぽん さん) に返信
    >>> その際にどのような順番でコンボボックスのSelectedValueプロパティの値が取得出来るのでしょうか?
    保証はされていませんが、groupBox1.Controls に Add/AddRange された順といった所では無いかと。

    順番が重要なら、Load イベント等であらかじめ List<ComboBox> や 配列などで管理しておき、
    それを使って処理した方が良いかもしれません。


    > やりたいことはcomboBox1のSelectedValueを取得、comboBox2SelectedValueを取得
    > というように1〜4まであるcomboBoxのSelectedValueを順番に取得したいです。
    名前が決まっているのなら、foreach ではなく for ループに変更して、
    groupBox1.Controls のインデクサあるいは Find メソッドを使っては如何でしょう。
記事No.56371 のレス /過去ログ94より / 関連記事表示
削除チェック/

<前の20件 | 次の20件>

<< 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 >>

ヒット件数が多いので過去ログ1〜94 までの検索結果 / 過去ログ95からさらに検索→

パスワード/

- Child Tree -