MARU4812 の回答履歴

全768件中141~160件表示
  • パスワードを暗号化して保存

    VB.NET(VS2010)で開発しています。 パスワードを暗号化して保存したいのですがいまいち方法が わかりません。 当たり前ですがパスワードは任意で変更可能です。 それを暗号化して保存、そして次回からは変更されたパスワードを使ってDBへログイン。 暗号化したもの単体で複号出来ないと困ります。 なるべくiniファイルではなくVS2010やVS2008の機能(リソース?)で実装したいです。 よろしくお願いします。

  • VBのデータグリッドビューのサイズ変更

    VB2010においてフォームのサイズが変更されたときに、データグリッドビューのサイズをそれに合わせて変更したいのですが、どのようにしたらよいのでしょうか? 配置の部分にそれらしきものがありますが(AutoSize~など)いまいち使い方がよくわかりません。 最大化、およびドラッグでのサイズ変更に対応したいです。 禁止してしまえば簡単なのですが、そうしたくはないので・・・ よろしくお願いします。

  • [Visual C#] 優先される処理について

    お世話になります。 初歩的な質問で大変恐縮です。 Visual C# 2010 で開発しているのですが、 DataGridViewクラスを継承した独自クラスを定義し、 セルの編集状態でEnterキーを押下した場合、 次の行のセルにフォーカスを移動する処理を記述しています。 ・・・・ (1) 例: this.CurrentCell = this[col, row]; 上記(1)とは別のcsファイルに、 上記(1)を親クラスとしてDataGridViewのインスタンスを生成しています。 また、このGridViewのCellValidatingイベント内では、セルに入力された値の エラーチェック処理を行い、エラーの場合は e.Cancel = true; を設定しています。 ・・・・ (2) 実際にDataGridViewのセルに値を入力し、編集状態でEnterキーを押下すると、 (1) → (2) → (1) の順序で処理が実行され、最後の(1)の処理中に下記エラーが出力されます。 「セル値の変更をコミットまたは中止できないため、操作は成功しませんでした。」 上記(2)の処理後に何かしらフラグをたてて、 エラー発生直前にフラグ内容を判断してエラーを回避しようと試みましたが、 条件文を無視して(1)のフォーカス移動処理が強制実行され、同一エラーが出力されます。 なぜ、他の処理を無視して(1)が強制実行されるのかが理解できずに困っています。 どなたかご存じの方がいらっしゃいましたら、ご教授願えますでしょうか? よろしくお願いいたします。

  • Windows のLabel が白地の赤×印になる

    WindowsXP-Pro Ver.2002 SP2 上で Visual Studio 2005 Standard Edition でVB2005による開発を行っております。 開発アプリ上で、データの連続投入試験を行なっていたら、 「外部コンポーネントで例外をスローしました」エラーとなり、 画面の一部のLabel が白地に赤い×印の表示になってしまいました。【添付画像参照】 本来ならば青地に”元 計”の黒文字が表示される筈なのですが… 当方初心者の為、何が悪いのかさっぱり見当がつかず、往生しております。 調べるきっかけだけでも教えてもらえたらありがたいのですが。 よろしくお願いします。

  • DataGridView 複数選択で行番号の取得

    Visual Basic 2008 を使っています。 DataGridViewで複数の行を選択したとき、それぞれが何行目なのかを取得するにはどうしたらいいでしょうか? 具体的には、複数選択されている行の0列目の値をテキストボックスに表示するという動作を行いたいです。 自分で書いたコードをペーストしておきます。 Dim count As Integer = Me.DataGridView1.SelectedRows.Count For count = 0 To count - 1 Dim test As String test = Me.DataGridView1.Rows(?何行目か).Cells(0).Value Me.TextBox4.Text = test & "が選択されています。" & vbCrLf & zenkai Dim zenkai As String = Me.TextBox1.Text Next

  • Visual Basic アクセス範囲外?

    以下のソースコードを Visual Basic で実行したら, 『InvalidOperationException はハンドルされませんでした。』 というエラーが出たのですが,エラーの意味がいまいちよく掴めなくて困っています. Public Class Form1    Dim tc As TestClass = New TestClass    Class TestClass       Sub New()          Form1.ComboBox1.Items.Add("hello world")       End Sub    End Class End Class おそらく範囲外アクセスのようなことだとは思うのですが,Visual Basic 初心者なので対策がよくわかりません. 以下のソースコードは,起動(実行)した時にクラスのコンストラクタが呼び出されて,コンボボックスのリストに文字列を追加するというだけのものなのですが,それで先のエラーが返ってきてしまっています. どのようにコードを書き換えればいいのでしょうか. 条件は『起動時』に文字列をリストに追加することです.

  • Windows のLabel が白地の赤×印になる

    WindowsXP-Pro Ver.2002 SP2 上で Visual Studio 2005 Standard Edition でVB2005による開発を行っております。 開発アプリ上で、データの連続投入試験を行なっていたら、 「外部コンポーネントで例外をスローしました」エラーとなり、 画面の一部のLabel が白地に赤い×印の表示になってしまいました。【添付画像参照】 本来ならば青地に”元 計”の黒文字が表示される筈なのですが… 当方初心者の為、何が悪いのかさっぱり見当がつかず、往生しております。 調べるきっかけだけでも教えてもらえたらありがたいのですが。 よろしくお願いします。

  • DataGridView 複数選択で行番号の取得

    Visual Basic 2008 を使っています。 DataGridViewで複数の行を選択したとき、それぞれが何行目なのかを取得するにはどうしたらいいでしょうか? 具体的には、複数選択されている行の0列目の値をテキストボックスに表示するという動作を行いたいです。 自分で書いたコードをペーストしておきます。 Dim count As Integer = Me.DataGridView1.SelectedRows.Count For count = 0 To count - 1 Dim test As String test = Me.DataGridView1.Rows(?何行目か).Cells(0).Value Me.TextBox4.Text = test & "が選択されています。" & vbCrLf & zenkai Dim zenkai As String = Me.TextBox1.Text Next

  • Windows のLabel が白地の赤×印になる

    WindowsXP-Pro Ver.2002 SP2 上で Visual Studio 2005 Standard Edition でVB2005による開発を行っております。 開発アプリ上で、データの連続投入試験を行なっていたら、 「外部コンポーネントで例外をスローしました」エラーとなり、 画面の一部のLabel が白地に赤い×印の表示になってしまいました。【添付画像参照】 本来ならば青地に”元 計”の黒文字が表示される筈なのですが… 当方初心者の為、何が悪いのかさっぱり見当がつかず、往生しております。 調べるきっかけだけでも教えてもらえたらありがたいのですが。 よろしくお願いします。

  • Column名を変えた時のUpdate文の書き方

    よろしくお願い致します。 VB2010とSQLServer2008でデータベースの勉強をしております。 DataAdapterを使用し、SelectCommand,UpdateCommandを設定、 それをDataGridViewに表示させています。 Column名とデータをSelectComanndの「AS」で変更した場合の Update文の「CASE」の書き方?で混乱しております。 データベース Test1 No Sex ------ 1 1 2 2 3 0 DataGridViewの表示 No 性別 ------- 1 男 2 女 3 ? データベース Test1をDataGridViewに表示 その際、「Sex」を1=男, 2=女, 0=?と表示させています 同時に、Column名を「性別」に変えました SelectCommandでSQL文を以下のように設定しました SELECT No, CASE Sex WHEN 1 THEN '男'                WHEN 2 THEN '女'                ELSE '?'         END AS 性別 FROM Test1 これは希望通りに表示されました UpdateCommandでSQL文を以下のように設定しました。 UPDATE Test3 SET Sex = CASE @sex WHEN '男' THEN 1                         WHEN '女' THEN 2                         ELSE 0                 END WHERE No = @no SQLDataAapter.UpdateCommand = New SqlCommand(SQL, myConnection) SQLDataAapter.UpdateCommand.Parameters.Add("@sex", SqlDbType.Int, 32, "Sex") SQLDataAapter.UpdateCommand.Parameters.Add("@no", SqlDbType.Int, 32, "No").SourceVersion = DataRowVersion.Original UPDATE文でCASEが使えることは検索して分かったのですが、 Columnの表示を変えた場合はどうしたらよいのでしょうか? なお、Select文、Update文ともに、「CASE」句を削除すれば正しく動作することは確認できました。 質問する場所を「データベース」と迷ったのですがこちらにしました。 ご指導のほど、よろしくお願い致します

  • Column名を変えた時のUpdate文の書き方

    よろしくお願い致します。 VB2010とSQLServer2008でデータベースの勉強をしております。 DataAdapterを使用し、SelectCommand,UpdateCommandを設定、 それをDataGridViewに表示させています。 Column名とデータをSelectComanndの「AS」で変更した場合の Update文の「CASE」の書き方?で混乱しております。 データベース Test1 No Sex ------ 1 1 2 2 3 0 DataGridViewの表示 No 性別 ------- 1 男 2 女 3 ? データベース Test1をDataGridViewに表示 その際、「Sex」を1=男, 2=女, 0=?と表示させています 同時に、Column名を「性別」に変えました SelectCommandでSQL文を以下のように設定しました SELECT No, CASE Sex WHEN 1 THEN '男'                WHEN 2 THEN '女'                ELSE '?'         END AS 性別 FROM Test1 これは希望通りに表示されました UpdateCommandでSQL文を以下のように設定しました。 UPDATE Test3 SET Sex = CASE @sex WHEN '男' THEN 1                         WHEN '女' THEN 2                         ELSE 0                 END WHERE No = @no SQLDataAapter.UpdateCommand = New SqlCommand(SQL, myConnection) SQLDataAapter.UpdateCommand.Parameters.Add("@sex", SqlDbType.Int, 32, "Sex") SQLDataAapter.UpdateCommand.Parameters.Add("@no", SqlDbType.Int, 32, "No").SourceVersion = DataRowVersion.Original UPDATE文でCASEが使えることは検索して分かったのですが、 Columnの表示を変えた場合はどうしたらよいのでしょうか? なお、Select文、Update文ともに、「CASE」句を削除すれば正しく動作することは確認できました。 質問する場所を「データベース」と迷ったのですがこちらにしました。 ご指導のほど、よろしくお願い致します

  • Column名を変えた時のUpdate文の書き方

    よろしくお願い致します。 VB2010とSQLServer2008でデータベースの勉強をしております。 DataAdapterを使用し、SelectCommand,UpdateCommandを設定、 それをDataGridViewに表示させています。 Column名とデータをSelectComanndの「AS」で変更した場合の Update文の「CASE」の書き方?で混乱しております。 データベース Test1 No Sex ------ 1 1 2 2 3 0 DataGridViewの表示 No 性別 ------- 1 男 2 女 3 ? データベース Test1をDataGridViewに表示 その際、「Sex」を1=男, 2=女, 0=?と表示させています 同時に、Column名を「性別」に変えました SelectCommandでSQL文を以下のように設定しました SELECT No, CASE Sex WHEN 1 THEN '男'                WHEN 2 THEN '女'                ELSE '?'         END AS 性別 FROM Test1 これは希望通りに表示されました UpdateCommandでSQL文を以下のように設定しました。 UPDATE Test3 SET Sex = CASE @sex WHEN '男' THEN 1                         WHEN '女' THEN 2                         ELSE 0                 END WHERE No = @no SQLDataAapter.UpdateCommand = New SqlCommand(SQL, myConnection) SQLDataAapter.UpdateCommand.Parameters.Add("@sex", SqlDbType.Int, 32, "Sex") SQLDataAapter.UpdateCommand.Parameters.Add("@no", SqlDbType.Int, 32, "No").SourceVersion = DataRowVersion.Original UPDATE文でCASEが使えることは検索して分かったのですが、 Columnの表示を変えた場合はどうしたらよいのでしょうか? なお、Select文、Update文ともに、「CASE」句を削除すれば正しく動作することは確認できました。 質問する場所を「データベース」と迷ったのですがこちらにしました。 ご指導のほど、よろしくお願い致します

  • EXCELのプロセスに関して2

    教えて下さい。 先日もEXCELに関して投稿させて頂きましたが、やはり少しソースを変更すると、最終的に EXCELのプロセスが残ってしまいます。 前回は、記述の最後に、"GC.Collect"を追加するようにご指摘頂き、余計なメモリを解放する事で、 プロセスは残らないようになりましたが、今回は、以下の記述のように、発注先コードが違った場合、 シートを分けるという事をしたい為、以下のような記述をした際に、プロセスが残ってしまう現象が 発生しました。 切り分けを行った結果、やはり*****印の部分があるかないかで、プロセスが残る現象が発生しますが、 何かプロセスを残してしまうような記述をしているのでしょうか。。。 どなたか教えて頂ければ幸いです。 よろしくお願いします。 《記述内容》 '既存のEXCELファイルを開く Dim xlFilePath As String = "C:\order.xls" '起動時の処理 Dim xlApp As New Excel.Application Dim xlBooks As Excel.Workbooks = xlApp.Workbooks Dim xlBook As Excel.Workbook = xlBooks.Open(xlFilePath) '確認のためExcelのウィンドウを表示する xlApp.Visible = True Dim xlSheets As Excel.Sheets = xlBook.Worksheets Dim xlSheet As Excel.Worksheet = CType(xlSheets.Item(1), Excel.Worksheet) 'シートの選択 xlSheet = xlSheets.Item(1) 'シートのコピー xlSheet.Copy(After:=xlBook.Worksheets(1)) '再度シートを選択 xlSheet = xlSheets.Item(2) 'シートに名前を付ける xlSheet.Name = "zz" Dim x, y As Integer x = 0 y = 0 Dim mcount As Integer Dim fcount As Integer Dim D_発注先コード As String D_発注先コード = h_date(0).IN_発注先コード Dim strDat(14, 14) As Object For icount As Integer = 0 To count - 1 If D_発注先コード <> h_date(icount).IN_発注先コード Then 'データをEXCELファイルに書き出し Dim xlRange As Excel.Range 'データの入力セル範囲 xlRange = xlSheet.Range("A17:O31") 'セルへデータの入力 xlRange.Value = strDat System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRange) D_発注先コード = h_date(icount).IN_発注先コード x = 0 *********************************************************************** xlSheet = xlSheets.Item(1) 'シートの選択 xlSheet.Copy(After:=xlBook.Worksheets(2)) 'シートのコピー xlSheet = xlSheets.Item(3) '再度シートを選択 xlSheet.Name = "YY" 'シートに名前を付ける *********************************************************************** strDat(x, 1) = h_date(icount).IN_指示納期 strDat(x, 2) = h_date(icount).IN_発注番号 fcount = 1 Else strDat(x, 1) = h_date(icount).IN_指示納期 strDat(x, 2) = h_date(icount).IN_発注番号 End If x = x + 1 Next Dim xlRange3 As Excel.Range 'データの入力セル範囲 xlRange3 = xlSheet.Range("A17:O31") 'セルへデータの入力 xlRange3.Value = strDat 'COM オブジェクトの解放 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRange3) xlBooks.Close() xlApp.DisplayAlerts = False xlApp.Quit() 'COM オブジェクトの解放 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBook) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBooks) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheets) 'Excel のプロセス終了 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp) GC.Collect()

  • EXCELのプロセスに関して2

    教えて下さい。 先日もEXCELに関して投稿させて頂きましたが、やはり少しソースを変更すると、最終的に EXCELのプロセスが残ってしまいます。 前回は、記述の最後に、"GC.Collect"を追加するようにご指摘頂き、余計なメモリを解放する事で、 プロセスは残らないようになりましたが、今回は、以下の記述のように、発注先コードが違った場合、 シートを分けるという事をしたい為、以下のような記述をした際に、プロセスが残ってしまう現象が 発生しました。 切り分けを行った結果、やはり*****印の部分があるかないかで、プロセスが残る現象が発生しますが、 何かプロセスを残してしまうような記述をしているのでしょうか。。。 どなたか教えて頂ければ幸いです。 よろしくお願いします。 《記述内容》 '既存のEXCELファイルを開く Dim xlFilePath As String = "C:\order.xls" '起動時の処理 Dim xlApp As New Excel.Application Dim xlBooks As Excel.Workbooks = xlApp.Workbooks Dim xlBook As Excel.Workbook = xlBooks.Open(xlFilePath) '確認のためExcelのウィンドウを表示する xlApp.Visible = True Dim xlSheets As Excel.Sheets = xlBook.Worksheets Dim xlSheet As Excel.Worksheet = CType(xlSheets.Item(1), Excel.Worksheet) 'シートの選択 xlSheet = xlSheets.Item(1) 'シートのコピー xlSheet.Copy(After:=xlBook.Worksheets(1)) '再度シートを選択 xlSheet = xlSheets.Item(2) 'シートに名前を付ける xlSheet.Name = "zz" Dim x, y As Integer x = 0 y = 0 Dim mcount As Integer Dim fcount As Integer Dim D_発注先コード As String D_発注先コード = h_date(0).IN_発注先コード Dim strDat(14, 14) As Object For icount As Integer = 0 To count - 1 If D_発注先コード <> h_date(icount).IN_発注先コード Then 'データをEXCELファイルに書き出し Dim xlRange As Excel.Range 'データの入力セル範囲 xlRange = xlSheet.Range("A17:O31") 'セルへデータの入力 xlRange.Value = strDat System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRange) D_発注先コード = h_date(icount).IN_発注先コード x = 0 *********************************************************************** xlSheet = xlSheets.Item(1) 'シートの選択 xlSheet.Copy(After:=xlBook.Worksheets(2)) 'シートのコピー xlSheet = xlSheets.Item(3) '再度シートを選択 xlSheet.Name = "YY" 'シートに名前を付ける *********************************************************************** strDat(x, 1) = h_date(icount).IN_指示納期 strDat(x, 2) = h_date(icount).IN_発注番号 fcount = 1 Else strDat(x, 1) = h_date(icount).IN_指示納期 strDat(x, 2) = h_date(icount).IN_発注番号 End If x = x + 1 Next Dim xlRange3 As Excel.Range 'データの入力セル範囲 xlRange3 = xlSheet.Range("A17:O31") 'セルへデータの入力 xlRange3.Value = strDat 'COM オブジェクトの解放 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRange3) xlBooks.Close() xlApp.DisplayAlerts = False xlApp.Quit() 'COM オブジェクトの解放 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBook) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBooks) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheets) 'Excel のプロセス終了 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp) GC.Collect()

  • EXCELのプロセスに関して2

    教えて下さい。 先日もEXCELに関して投稿させて頂きましたが、やはり少しソースを変更すると、最終的に EXCELのプロセスが残ってしまいます。 前回は、記述の最後に、"GC.Collect"を追加するようにご指摘頂き、余計なメモリを解放する事で、 プロセスは残らないようになりましたが、今回は、以下の記述のように、発注先コードが違った場合、 シートを分けるという事をしたい為、以下のような記述をした際に、プロセスが残ってしまう現象が 発生しました。 切り分けを行った結果、やはり*****印の部分があるかないかで、プロセスが残る現象が発生しますが、 何かプロセスを残してしまうような記述をしているのでしょうか。。。 どなたか教えて頂ければ幸いです。 よろしくお願いします。 《記述内容》 '既存のEXCELファイルを開く Dim xlFilePath As String = "C:\order.xls" '起動時の処理 Dim xlApp As New Excel.Application Dim xlBooks As Excel.Workbooks = xlApp.Workbooks Dim xlBook As Excel.Workbook = xlBooks.Open(xlFilePath) '確認のためExcelのウィンドウを表示する xlApp.Visible = True Dim xlSheets As Excel.Sheets = xlBook.Worksheets Dim xlSheet As Excel.Worksheet = CType(xlSheets.Item(1), Excel.Worksheet) 'シートの選択 xlSheet = xlSheets.Item(1) 'シートのコピー xlSheet.Copy(After:=xlBook.Worksheets(1)) '再度シートを選択 xlSheet = xlSheets.Item(2) 'シートに名前を付ける xlSheet.Name = "zz" Dim x, y As Integer x = 0 y = 0 Dim mcount As Integer Dim fcount As Integer Dim D_発注先コード As String D_発注先コード = h_date(0).IN_発注先コード Dim strDat(14, 14) As Object For icount As Integer = 0 To count - 1 If D_発注先コード <> h_date(icount).IN_発注先コード Then 'データをEXCELファイルに書き出し Dim xlRange As Excel.Range 'データの入力セル範囲 xlRange = xlSheet.Range("A17:O31") 'セルへデータの入力 xlRange.Value = strDat System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRange) D_発注先コード = h_date(icount).IN_発注先コード x = 0 *********************************************************************** xlSheet = xlSheets.Item(1) 'シートの選択 xlSheet.Copy(After:=xlBook.Worksheets(2)) 'シートのコピー xlSheet = xlSheets.Item(3) '再度シートを選択 xlSheet.Name = "YY" 'シートに名前を付ける *********************************************************************** strDat(x, 1) = h_date(icount).IN_指示納期 strDat(x, 2) = h_date(icount).IN_発注番号 fcount = 1 Else strDat(x, 1) = h_date(icount).IN_指示納期 strDat(x, 2) = h_date(icount).IN_発注番号 End If x = x + 1 Next Dim xlRange3 As Excel.Range 'データの入力セル範囲 xlRange3 = xlSheet.Range("A17:O31") 'セルへデータの入力 xlRange3.Value = strDat 'COM オブジェクトの解放 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRange3) xlBooks.Close() xlApp.DisplayAlerts = False xlApp.Quit() 'COM オブジェクトの解放 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBook) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBooks) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheets) 'Excel のプロセス終了 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp) GC.Collect()

  • EXCELのプロセスに関して2

    教えて下さい。 先日もEXCELに関して投稿させて頂きましたが、やはり少しソースを変更すると、最終的に EXCELのプロセスが残ってしまいます。 前回は、記述の最後に、"GC.Collect"を追加するようにご指摘頂き、余計なメモリを解放する事で、 プロセスは残らないようになりましたが、今回は、以下の記述のように、発注先コードが違った場合、 シートを分けるという事をしたい為、以下のような記述をした際に、プロセスが残ってしまう現象が 発生しました。 切り分けを行った結果、やはり*****印の部分があるかないかで、プロセスが残る現象が発生しますが、 何かプロセスを残してしまうような記述をしているのでしょうか。。。 どなたか教えて頂ければ幸いです。 よろしくお願いします。 《記述内容》 '既存のEXCELファイルを開く Dim xlFilePath As String = "C:\order.xls" '起動時の処理 Dim xlApp As New Excel.Application Dim xlBooks As Excel.Workbooks = xlApp.Workbooks Dim xlBook As Excel.Workbook = xlBooks.Open(xlFilePath) '確認のためExcelのウィンドウを表示する xlApp.Visible = True Dim xlSheets As Excel.Sheets = xlBook.Worksheets Dim xlSheet As Excel.Worksheet = CType(xlSheets.Item(1), Excel.Worksheet) 'シートの選択 xlSheet = xlSheets.Item(1) 'シートのコピー xlSheet.Copy(After:=xlBook.Worksheets(1)) '再度シートを選択 xlSheet = xlSheets.Item(2) 'シートに名前を付ける xlSheet.Name = "zz" Dim x, y As Integer x = 0 y = 0 Dim mcount As Integer Dim fcount As Integer Dim D_発注先コード As String D_発注先コード = h_date(0).IN_発注先コード Dim strDat(14, 14) As Object For icount As Integer = 0 To count - 1 If D_発注先コード <> h_date(icount).IN_発注先コード Then 'データをEXCELファイルに書き出し Dim xlRange As Excel.Range 'データの入力セル範囲 xlRange = xlSheet.Range("A17:O31") 'セルへデータの入力 xlRange.Value = strDat System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRange) D_発注先コード = h_date(icount).IN_発注先コード x = 0 *********************************************************************** xlSheet = xlSheets.Item(1) 'シートの選択 xlSheet.Copy(After:=xlBook.Worksheets(2)) 'シートのコピー xlSheet = xlSheets.Item(3) '再度シートを選択 xlSheet.Name = "YY" 'シートに名前を付ける *********************************************************************** strDat(x, 1) = h_date(icount).IN_指示納期 strDat(x, 2) = h_date(icount).IN_発注番号 fcount = 1 Else strDat(x, 1) = h_date(icount).IN_指示納期 strDat(x, 2) = h_date(icount).IN_発注番号 End If x = x + 1 Next Dim xlRange3 As Excel.Range 'データの入力セル範囲 xlRange3 = xlSheet.Range("A17:O31") 'セルへデータの入力 xlRange3.Value = strDat 'COM オブジェクトの解放 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRange3) xlBooks.Close() xlApp.DisplayAlerts = False xlApp.Quit() 'COM オブジェクトの解放 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBook) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBooks) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet) System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheets) 'Excel のプロセス終了 System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp) GC.Collect()

  • エクスポートの質問です

    access2007でテーブルをエクスポートを行いたいのですが、なかなかできす苦労しています。 VBAでの構文にて、変換後のファイルは、 (1)TSVファイル形式 (2)区切り記号は " ^ " (3)フィールド名を先頭行に作成し、2行目からデータの変換を行う。 (4)できればソートしてから変換 上記の作業です。 どなたか、VBA構文でわかる方がいらっしゃいましたら助けて下さい。

  • マクロについての質問です。

    マクロについての質問です。 下記の表で栃木支店から東京支店の合計を東京支店の下に1行挿入して合計額を入力したいと考えております。合計する範囲は変動する可能性があります。 マクロ化することは可能でしょうか?? 一応下記のように[東京]を検索して行を挿入するというところまで作ってみました。 このあとどのようにすれば可能か教えて頂けないでしょうか?? また他に方法がありましたら教えてください。 よろしくお願い致します。 ------------------------------------------------------- Cells.Find(What:="東京", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, MatchByte:=False, SearchFormat:=False).Activate ActiveCell.Offset(1, 0).Select Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove ActiveCell.Offset(0, 1).Select --------------------------------------------------------         商品(1) 商品(2) 商品(3)   宮城支店 100   200   100   福島支店 150   300   200   栃木支店 100   100   300 2 埼玉支店 100   500   400 0 茨城支店 200   100   500 1 群馬支店 300   200   300 0 千葉支店 400   300   300   埼玉支店 400   400   200   東京支店 200   500   100   長野支店 100   400   200 ―――――――――――――――         宮城支店 100   200   100   福島支店 150   300   200   栃木支店 100   100   300   埼玉支店 100   500   400 2 茨城支店 200   100   500 0  群馬支店 300   200   300 1  千葉支店 400   300   300 1  埼玉支店 400   400   200    東京支店 200   500   100    長野支店 100   400   200

  • 日報の時間計算

    お世話になっております。 Windows 7 Access 2007 Private Sub 完了時間_AfterUpdate() Dim StartTime, EndTime, Kugiri, tuujou, Soukinmu, shinyakugiri, SinyaTime As Long tuujou = 8: '通常勤務時間 8時間 Kugiri = 5: '区切り時間 午前5時 shinyakugiri = 22: '深夜区切り 22時 '処理がわかりやすくするために時刻(m日)を数値(n時間)に変換 StartTime = Me.開始時間 * 24 EndTime = Me.完了時間 * 24 '完了時間が 0時以上 5時以下 の場合、24時間足す。 If EndTime >= 0 And EndTime <= Kugiri Then EndTime = EndTime + 24 End If '深夜計算 SinyaTime = EndTime - shinyakugiri - Me.休憩 If SinyaTime > 0 Then Me.深夜 = SinyaTime Else Me.深夜 = 0 End If '総勤務時間算出 Soukinmu = EndTime - StartTime - Me.休憩 '(Me.sinyaは前の処理で、深夜にかかっていない場合0なので、適切に計算される) Soukinmu = Soukinmu - Me.深夜 '総勤務時間が通常勤務時間以下の場合、 '残業時間は0、勤務時間は総勤務時間。 '総勤務時間が通常勤務時間より大きい場合、 '残業時間=総勤務時間-通常勤務時間 勤務時間=通常勤務時間 If Soukinmu <= tuujou Then Me.残業 = 0 Me.勤務時間 = Soukinmu Else Me.残業 = Soukinmu - tuujou Me.勤務時間 = tuujou End If '工数算出 'If EndTime <= 17 Then If Soukinmu <= tuujou Then 工数 = 勤務時間 / tuujou Me.勤務時間 = Soukinmu Else 工数 = tuujou / 8 End If End Sub このコーナーで教えていただいた日報の時間計算ですが、とてもうまく計算できました。ですが、問題発生したため、修正が必要ですけどどいう風に変更すればいいか分からなくてまた質問させていただきます。 言葉でうまく説明出来ないので、例を挙げます。 2011/12/09 Aさんの場合 工事番号 日付 名前 開始   終了   勤務時間 残業 0001   12/9 A   8:00 17:00   8 0002   12/9 A   17:00  20:00         3 そんな感じで日報に表示させたいですが現在の日報はこんな感じです。 工事番号 日付 社員ID 名前 開始   終了   勤務時間 残業 0001   12/9  1    A   8:00 17:00   8 0002   12/9  1    A   17:00  20:00  3 今のコードなら修正できるでしょうか? 素人の考えですが、社員IDと日付が同じなら勤務時間の集計で残業時間になるということですがどこに何を書けば全然わかなかったです。 どなたか教えていただけませんか? よろしくお願い致します。       

  • エクセルマクロでのグラフ作成について

    エクセルのマクロでグラフを作成したいのですが 設定したい値のセルが行も列も飛び飛びなんです。このような場合、どうやってセルを設定すればいいか教えてください。 セルの自動マクロ記録でやってみると、例えばですが ActiveChart.SetSourceData Source:=Sheets("グラフ").Range( _ "A5,A10,A15,A20,A25,A30,A35,D5,D10,D15,D20,D25,D30,D35"), PlotBy:= xlColumns このような設定で希望通りのグラフが出来上がります。 A列(X軸)とD列(Y軸)の値で、列は固定で数行置きのデータでのグラフが作りたいのです。 しかもどの行かは固定ではありませんので、セルアドレスをそのまま入力するのではなく、Cells(,) で設定したいのですが、Unionを使ってみたり、色々試したのですが、うまくできません。 おわかりの方教えて頂けませんでしょうか。 よろしくお願いいたします。