tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルエクセルのコピーについて
記事No5925
投稿日: 2007/07/26(Thu) 16:16
投稿者通販の鬼
いつもお世話になります。鬼です。

(環境)
OS:WinXP,OfficeXP,VB.net2005
Compac,CUP:2.4G,256MB

今回、VB.netよりエクセルシートのコピーを行う処理を行おうと思っております。
既存エクセルファイルを展開し、新規Bookにシートコピー処理を行うと
エクセルの幅や高さが異常な値になります(基本的には縮小されてしまう。)
これはコピー処理をただ行っただけで発生します。
下記にサンプルを添付いたします。
レクチャーいただければと思います。

    'エクセルアプリケーション
    Protected m_xlsApp As Excel.Application
    Protected m_xlsWorkBooks As Excel.Workbooks

    '雛形エクセル
    Protected m_xlsBook As Excel.Workbook
    Protected m_xlsSheets As Excel.Sheets
    Protected m_xlsWorkSheet As Excel.Worksheet

    '新規に作成するエクセル
    Protected m_xlsNewBook As Excel.Workbook
    Protected m_xlsNewSheets As Excel.Sheets
    Protected m_xlsNewWorkSheet As Excel.Worksheet
    
    m_xlsApp = New Excel.Application
    m_xlsWorkBooks = m_xlsApp.Workbooks

    m_xlsBook = m_xlsWorkBooks.Open(p_strExcelFilePath)
    m_xlsSheets = m_xlsBook.Worksheets

    m_xlsNewBook = m_xlsWorkBooks.Add()
    m_xlsNewSheets = m_xlsNewBook.Worksheets
    
    MyBase.MRComObject(1)
    MyBase.m_xlsWorkSheet = MyBase.m_xlsSheets.Item(p_objItem)
    
    MyBase.MRComObject(1)
    MyBase.m_xlsNewWorkSheet = MyBase.m_xlsNewSheets.Item(p_objItem)
    
    Dim l_xlsWkWorkSheet As Excel.Worksheet

    l_xlsWkWorkSheet = MyBase.m_xlsWorkSheet
    l_xlsWkWorkSheet.Copy(m_xlsNewWorkSheet)
    MyBase.MRComObject(l_xlsWkWorkSheet) 'メモリ解放
    

[ツリー表示へ]
タイトルRe: エクセルのコピーについて
記事No5926
投稿日: 2007/07/26(Thu) 17:10
投稿者通販の鬼
これについて、解決しました。
Bookの設定に不正な値などが入っていたからでしょうか。
新規Book作成ご、転送。そこで値は不正になりますが、
そこから値変更したものは継承されているようです。
宜しくお願いします。

[ツリー表示へ]