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

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

C# と VB.NET の入門サイト

Re[2]: Excel取込後の動作


(過去ログ 36 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■18635 / inTopicNo.1)  Excel取込後の動作
  
□投稿者/ まいか (1回)-(2008/05/15(Thu) 10:40:17)

分類:[.NET 全般] 

お世話になります
WinXP、VB.NET2005、SQLServer2005と言う環境です
Excelを取り込んで処理をしているのですが、取込後に取り込んだExcelファイルが編集可能ですと言うウィンドが開いてしまうのですが、これを出さない様にしたいのですがどの様にしたら良いのでしょうか
後にも先にもここの場所でしか取込元のファイルを開いてないです

以下が現処理内容です

        Dim oleCn As New OleDb.OleDbConnection()
        Dim oleCm As New OleDb.OleDbCommand()
        Dim oleDa As New OleDb.OleDbDataAdapter()
        Dim dt As New DataTable()
        Dim intRow As Integer = 0
        Dim strWork(5) As String
        Dim strK As String = ""

        Dim xlApp As New Excel.Application()
        Dim xlBooks As Excel.Workbooks = xlApp.Workbooks
        Dim xlBook As Excel.Workbook = xlBooks.Open(Me.txt_パス.Text & ".xls")
        Dim xlSheets As Excel.Sheets = xlBook.Worksheets
        Dim xlSheet As Excel.Worksheet = CType(xlSheets.Item(1), Excel.Worksheet)
        strK = xlSheet.Name

        oleCn.ConnectionString = _
                "Provider=Microsoft.Jet.OLEDB.4.0; " + _
                "Data Source=" & Me.txt_PATH.Text & ".xls" & ";" + _
                "Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;"""

        oleCm.Connection = oleCn

        oleCm.CommandText = "Select * From [" & strK & "$] " 

        Try
            oleDa.Fill(dt)
        Catch ex As Exception
            oleDa.Dispose()
            oleDa = Nothing
            oleCm.Dispose()
            Return False
        End Try

        Do While intRow < dt.Rows.Count - 1
            strWork(0) = dt.Rows(intRow).Item(0).ToString   
            strWork(1) = dt.Rows(intRow).Item(1).ToString   
            strWork(2) = dt.Rows(intRow).Item(2).ToString   
            strWork(3) = dt.Rows(intRow).Item(3).ToString   
            strWork(4) = dt.Rows(intRow).Item(4).ToString   
            strWork(5) = dt.Rows(intRow).Item(5).ToString   

            'エラーチェック
            Call READ_EXCEL_ERR(strWork(0), strWork(1), strWork(2), strWork(3), strWork(4), strWork(5))

            intRow += 1     '次の行へ
        Loop

        oleDa.Dispose()
        oleDa = Nothing

        xlSheet = Nothing
        xlSheets = Nothing
        xlBook.Close()
        xlBook = Nothing
        xlBooks.Close()
        xlBooks = Nothing
        xlApp.Quit()
        xlApp = Nothing

よろしくお願いします

引用返信 編集キー/
■18674 / inTopicNo.2)  Re[1]: Excel取込後の動作
□投稿者/ ゆーち (6回)-(2008/05/15(Thu) 12:54:45)
No18635 (まいか さん) に返信
よく知らないので(^−^;、あてずっぽうですm(_._)m

ExcelApplication のプロパティ DisplayAlerts を false にするとか。

xlApp.OlePropertySet("DisplayAlerts",false);
って書くのかな・・・???
引用返信 編集キー/
■18685 / inTopicNo.3)  Re[2]: Excel取込後の動作
□投稿者/ まいか (2回)-(2008/05/15(Thu) 13:35:37)
No18674 (ゆーち さん) に返信
ゆーちさんありがとうございます
> ExcelApplication のプロパティ DisplayAlerts を false にするとか。
oleDa.Dispose()の前に
xlApp.DisplayAlerts = Falseとした事で取込後の取込元Excelファイルの編集可と言うウィンドが出なくなりました

ありがとうございました
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -