private void button5_Click(object sender, EventArgs e) //配布エリアの町名を一括登録する { if (MessageBox.Show("選択されている町名を一括追加登録します。よろしいですか?", "登録確認", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } foreach (DataGridViewRow r in dataGridView3.SelectedRows) { txtAreaID.Text = dataGridView3[0, r.Index].Value.ToString(); txtHaihuMaisu.Text = "0"; if (fDataCheck() == true) { Control.配布エリア dArea = new Control.配布エリア(); if (dArea.DataInsert(cArea) == false) { MessageBox.Show(dataGridView3[1, r.Index].Value.ToString() + "の新規登録に失敗しました", "町名一括登録", MessageBoxButtons.OK, MessageBoxIcon.Error); } dArea.Close(); } } DispClear2(); txtAreaID.Focus(); //配布エリア再表示 GridviewSet.AreaShowData(dataGridView2, long.Parse(txtID.Text.ToString())); MaisuSum(); }
private void txtAdd_Click(object sender, EventArgs e) { //配布エリア登録 try { if (fDataCheck() == true) { Control.配布エリア dArea = new Control.配布エリア(); switch (aMode.Mode) { case 0: //新規登録 if (MessageBox.Show("新規登録します。よろしいですか?", "登録確認", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { break; } if (dArea.DataInsert(cArea) == false) { MessageBox.Show("新規登録に失敗しました", MESSAGE_CAPTION, MessageBoxButtons.OK, MessageBoxIcon.Stop); } break; case 1: //更新 if (MessageBox.Show("更新します。よろしいですか?", "更新確認", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { break; } if (dArea.DataUpdate(cArea) == false) { MessageBox.Show("更新に失敗しました", MESSAGE_CAPTION, MessageBoxButtons.OK, MessageBoxIcon.Stop); } break; } dArea.Close(); DispClear2(); txtAreaID.Focus(); //配布エリア再表示 GridviewSet.AreaShowData(dataGridView2, long.Parse(txtID.Text.ToString())); MaisuSum(); } } catch (Exception ex) { MessageBox.Show(ex.Message, MESSAGE_CAPTION + "保守", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void GetExcelPos() { DialogResult ret; //ダイアログボックスの初期設定 openFileDialog1.Title = "ポスティングエリア表の選択"; openFileDialog1.CheckFileExists = true; openFileDialog1.RestoreDirectory = true; openFileDialog1.FileName = ""; openFileDialog1.Filter = "Microsoft Office Excelファイル(*.xls)|*.xls|全てのファイル(*.*)|*.*"; //ダイアログボックスの表示 ret = openFileDialog1.ShowDialog(); if (ret == System.Windows.Forms.DialogResult.Cancel) { return; } if (MessageBox.Show(openFileDialog1.FileName + Environment.NewLine + " が選択されました。よろしいですか?", "ポスティングエリアExcelシート取り込み", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } const int S_GYO = 2; //エクセルファイル見出し行(明細は2行目から) //マウスポインタを待機にする this.Cursor = Cursors.WaitCursor; //string sAppPath = System.AppDomain.CurrentDomain.BaseDirectory; Excel.Application oXls = new Excel.Application(); Excel.Workbook oXlsBook = (Excel.Workbook)(oXls.Workbooks.Open(openFileDialog1.FileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing)); Excel.Worksheet oxlsSheet = (Excel.Worksheet)oXlsBook.Sheets[1]; Excel.Range dRng; Excel.Range[] rng = new Microsoft.Office.Interop.Excel.Range[2]; int iX = S_GYO; int Cnt = 0; int err; string cellID; string cellMaisu; int d; try { while (true) { err = 0; //エリアID dRng = (Excel.Range)oxlsSheet.Cells[iX, 1]; //空白なら処理終了 if ((dRng.Text.ToString().Trim() + "") == "") { break; } cellID = dRng.Text.ToString().Trim(); //IDチェック if (cellID == null) { err = 1; MessageBox.Show("エリアIDが正しくありません。この行はスキップされます。 " + Environment.NewLine + iX.ToString() + "行目 : " + cellID, "取り込みエラー", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (int.TryParse(cellID, System.Globalization.NumberStyles.Any, System.Globalization.NumberFormatInfo.InvariantInfo, out d) == false) { err = 1; MessageBox.Show("エリアIDが正しくありません。この行はスキップされます。 " + Environment.NewLine + iX.ToString() + "行目 : " + cellID, "取り込みエラー", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (Int32.Parse(cellID, System.Globalization.NumberStyles.Any) < 0) { err = 1; MessageBox.Show("エリアIDが正しくありません。この行はスキップされます。 " + Environment.NewLine + iX.ToString() + "行目 : " + cellID, "取り込みエラー", MessageBoxButtons.OK, MessageBoxIcon.Warning); } //配布枚数 dRng = (Excel.Range)oxlsSheet.Cells[iX, 3]; cellMaisu = dRng.Text.ToString().Trim(); //チェック if (cellMaisu == null) { err = 1; MessageBox.Show("配布枚数が正しくありません。この行はスキップされます。 " + Environment.NewLine + iX.ToString() + "行目 : " + cellMaisu, "取り込みエラー", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (int.TryParse(cellMaisu, System.Globalization.NumberStyles.Any, System.Globalization.NumberFormatInfo.InvariantInfo, out d) == false) { err = 1; MessageBox.Show("配布枚数が正しくありません。この行はスキップされます。 " + Environment.NewLine + iX.ToString() + "行目 : " + cellMaisu, "取り込みエラー", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (Int32.Parse(cellMaisu, System.Globalization.NumberStyles.Any) < 0) { err = 1; MessageBox.Show("配布枚数が正しくありません。この行はスキップされます。 " + Environment.NewLine + iX.ToString() + "行目 : " + cellMaisu, "取り込みエラー", MessageBoxButtons.OK, MessageBoxIcon.Warning); } //エラーのときは読み飛ばし if (err == 0) { txtAreaID.Text = cellID.ToString(); txtHaihuMaisu.Text = cellMaisu.ToString(); if (fDataCheck() == true) { Control.配布エリア dArea = new Control.配布エリア(); if (dArea.DataInsert(cArea) == false) { MessageBox.Show("新規登録に失敗しました", "Excelシート取り込み", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { Cnt++; } dArea.Close(); } } iX++; } MessageBox.Show(Cnt.ToString() + " 件の配布エリアを取り込みました", "取り込み終了", MessageBoxButtons.OK, MessageBoxIcon.Information); //マウスポインタを元に戻す this.Cursor = Cursors.Default; // 確認のためExcelのウィンドウを表示する //oXls.Visible = true; //印刷 //oxlsSheet.PrintPreview(true); //保存処理 oXls.DisplayAlerts = false; //Bookをクローズ oXlsBook.Close(Type.Missing, Type.Missing, Type.Missing); //Excelを終了 oXls.Quit(); } catch (Exception e) { MessageBox.Show(e.Message, "印刷", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } finally { // COM オブジェクトの参照カウントを解放する System.Runtime.InteropServices.Marshal.ReleaseComObject(oxlsSheet); System.Runtime.InteropServices.Marshal.ReleaseComObject(oXlsBook); System.Runtime.InteropServices.Marshal.ReleaseComObject(oXls); //マウスポインタを元に戻す this.Cursor = Cursors.Default; } DispClear2(); txtAreaID.Focus(); //配布エリア再表示 GridviewSet.AreaShowData(dataGridView2, long.Parse(txtID.Text.ToString())); MaisuSum(); }