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

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

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

No.1869 の関連記事表示

<< 0 >>
■1871  Re[2]: ファイル名のみ取り出したい
□投稿者/ papa -(2005/11/12(Sat) 23:39:12)

    分類:[VB.NET] 

    じゃんぬ 様へ
    ありがとう御座いました。4日もいろいろ探したのですが
    わからず投稿しました。深く感謝します .NET 初心者 またお願いします
    敬具
記事No.1869 のレス / END /過去ログ2より / 関連記事表示
削除チェック/

■1870  Re[1]: ファイル名のみ取り出したい
□投稿者/ じゃんぬ -(2005/11/12(Sat) 23:29:30)
>

    分類:[VB.NET] 

    No1869に返信(papaさんの記事)
    > FileDialog.FileNames プロパティは フルパスとフアイル名を返しますが
    > ファイル名のみ FileDialog. で取り出す方法教えてください

    どうぞ (^^)

    ファイル名・拡張子なしのファイル名を取得する
    http://jeanne.wankuma.com/tips/path/06-getfilename.html
記事No.1869 のレス /0過去ログ2より / 関連記事表示
削除チェック/

■1869  ファイル名のみ取り出したい
□投稿者/ papa -(2005/11/12(Sat) 22:04:02)

    分類:[VB.NET] 


    分類:[VB.NET] 

    FileDialog.FileNames プロパティは フルパスとフアイル名を返しますが
    ファイル名のみ FileDialog. で取り出す方法教えてください
親記事 /0過去ログ2より / 関連記事表示
削除チェック/

■1869  サンプルの「COM オブジェクトの参照カウントを解放する」で
□投稿者/ ボビン -(2007/03/07(Wed) 19:21:06)

    分類:[VB.NET (Windows)] 

    こんばんは、ボビンと申します。

    いつもサイトを開発の参考にさせていただいています。
    そこで疑問があり、ご質問させていただきました。よろしくお願いします。

    サンプルにある、「COM オブジェクトの参照カウントを解放する」のVB.NETですが、

    このように書くのは間違いでしょうか?

    ↓↓↓

    ' COM オブジェクトの参照カウントを解放する

    ' VB.NET
    ' 必要な変数は Try の外で宣言する
    Dim xlApplication As Excel.Application

    ' COM オブジェクトの解放を保証するために Try 〜 Finally を使用する
    Try
    xlApplication = New Excel.Application()

    ' 警告メッセージなどを表示しないようにする
    xlApplication.DisplayAlerts = False

    Dim xlBooks As Excel.Workbooks = xlApplication.Workbooks
    Dim xlBook As Excel.Workbook = xlBooks.Add()
    Dim xlSheets As Excel.Sheets = xlBook.Worksheets
    Dim xlSheet As Excel.Worksheet = DirectCast(xlSheets(1), Excel.Worksheet)
    Dim xlCells As Excel.Range = xlSheet.Cells
    Dim xlRange As Excel.Range = DirectCast(xlCells(6, 4), Excel.Range)

    Try
    ' Microsoft Excel を表示する
    xlApplication.Visible = True

    ' 1000 ミリ秒 (1秒) 待機する
    System.Threading.Thread.Sleep(1000)

    ' Row=6, Column=4 の位置に文字をセットする
    xlRange.Value2 = "あと 1 秒で終了します"

    ' 1000 ミリ秒 (1秒) 待機する
    System.Threading.Thread.Sleep(1000)

    Finally
    If Not xlRange Is Nothing Then
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRange)
    End If
    If Not xlCells Is Nothing Then
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlCells)
    End If
    If Not xlSheet Is Nothing Then
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet)
    End If
    If Not xlSheets Is Nothing Then
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheets)
    End If

    If Not xlBook Is Nothing Then
    Try
    xlBook.Close()
    Finally
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBook)
    End Try
    End If
    If Not xlBooks Is Nothing Then
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBooks)
    End If
    End Try
    Finally

    If Not xlApplication Is Nothing Then
    Try
    xlApplication.Quit()
    Finally
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApplication)
    End Try
    End If
    End Try

    ↑↑↑

    Try〜Finallyがたくさんあるところを、まとめただけですが、
    試してみたところ
    サンプルも、こちらのコードもタスクマネージャのプロセスから"EXCEL.EXE"は消えました。
    こちらの書き方では、問題がありますでしょうか。
    サンプルの書き方でないと、やはり正しく解放されないのでしょうか?
    それとも、わかりやすくするために、Try〜Finallyがたくさんある、サンプルの書き方となっているのでしょうか?

    ズレた質問だったらすみませんが、よろしくお願いします。
    環境はwin2K + VB2005 + office2003 です。

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

■1871  Re[1]: サンプルの「COM オブジェクトの参照カウントを解放する」で
□投稿者/ 渋木宏明(ひどり) -(2007/03/07(Wed) 19:43:12)
>
    > Try〜Finallyがたくさんあるところを、まとめただけですが、

    Finally 節の中で、ReleaseComObject() が例外を投げてきたらどうします?
記事No.1869 のレス /過去ログ10より / 関連記事表示
削除チェック/

■1872  Re[2]: サンプルの「COM オブジェクトの参照カウントを解放する」で
□投稿者/ じゃんぬねっと -(2007/03/07(Wed) 19:47:17)
>
記事No.1869 のレス /過去ログ10より / 関連記事表示
削除チェック/

■1885  Re[3]: サンプルの「COM オブジェクトの参照カウントを解放する」で
□投稿者/ ボビン -(2007/03/08(Thu) 09:52:46)
記事No.1869 のレス / END /過去ログ10より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -