Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


805 / 2272 ツリー ←次へ | 前へ→

【9966】AccessでExcel操作について LUNA 07/11/7(水) 13:36 質問[未読]
【9967】Re:AccessでExcel操作について 小僧 07/11/7(水) 18:32 回答[未読]
【10009】Re:AccessでExcel操作について VBWASURETA 07/11/22(木) 18:44 発言[未読]
【10018】Re:AccessでExcel操作について VBWASURWTA 07/11/23(金) 15:05 発言[未読]

【9966】AccessでExcel操作について
質問  LUNA  - 07/11/7(水) 13:36 -

引用なし
パスワード
   よろしくお願いします。
(環境 Win XP pro Office2003 proです。)

Access VBAで既存のExcelBookを開き処理を行いたいのですが、
エラーにはならないのですが、処理結果が反映されていないです。
下記のコードはまだ作成途中のものですが、どこがおかしいでしょうか?
教えて下さい。お願い致します。

Dim myXLS As ObjectFrame
Dim ws As Worksheet
Dim maxrows As Long
Dim a As Integer

  Set myXLS = GetObject(filepath, "Excel.Sheet")
  myXLS.Application.Visible = True------------------excelは開きますが既存のbookが表示されない。
  
  Set ws = myXLS.Worksheets("Export_T")
  ws.Select
  
  maxrows = ws.UsedRange.Rows.Count
  
  ws.Columns("A:B").Insert Shift:=xlToRight-------処理されていない

  For a = 2 To maxrows
    
  Next
  
  myXLS.Application.Quit

【9967】Re:AccessでExcel操作について
回答  小僧  - 07/11/7(水) 18:32 -

引用なし
パスワード
   ▼LUNA さん:
こんにちは。

>Dim myXLS As ObjectFrame

これがちょっと解りませんが、
通常ですと Excel.Application ⇒ Excel.Workbook ⇒ Excel.WorkSheet
の順に処理を行って行くのが良いかと思われます。


Sub Excelへの処理()
'※要参照 Microsoft Excel x.x Object Library
Const FilePath = "C:\Temp.xls"
Dim xlsApp As Excel.Application
Dim xlsWkb As Excel.Workbook
Dim xlsSht As Excel.Worksheet
Dim a As Integer


  Set xlsApp = CreateObject("Excel.Application")
    xlsApp.Visible = True
    
  Set xlsWkb = xlsApp.Workbooks.Open(FilePath)
  Set xlsSht = xlsWkb.Sheets("Export_T")
  
  
  '----------------------------------------------
  '
  'ここにExcelの処理
  '
  '----------------------------------------------
  
  Set xlsSht = Nothing
  xlsWkb.Close True: Set xlsWkb = Nothing
  xlsApp.Quit: Set xlsApp = Nothing

End Sub


> Export_T

対象のExcelファイルが TransferSpreadsheet メソッドにて
Access からのデータを吐き出したものでしたら、
そちらのメソッドを使わずに

CopyFromRecordset メソッド

を使ったほうが良さそうな気もしますね。

【10009】Re:AccessでExcel操作について
発言  VBWASURETA  - 07/11/22(木) 18:44 -

引用なし
パスワード
   ▼LUNA さん:
こんばんは。

よく私もExcel関係やってました(色々してます^^;

実はSelectメソッドや選択処理関係は

>  myXLS.Application.Visible = True------------------excelは開きますが既
だけではダメだったはずです。

myXLS.Application.ActiveWindow.Visible = True

だったかな・・・を有効にすることでよかったと思います。

後、シートのSaveメソッドもないですね。


今は思い出しで書いているので、帰宅後に確認して
間違っていたら訂正します。

【10018】Re:AccessでExcel操作について
発言  VBWASURWTA  - 07/11/23(金) 15:05 -

引用なし
パスワード
   ▼LUNA さん:
こんにちは。

少し訂正します。


>myXLS.Application.ActiveWindow.Visible = True

ではなく


myXLS.Windows(ファイル名).Visible = True

でした。

後、表示関係は

myXLS.Application.ScreenUpdating = True
myXLS.Application.DisplayAlerts = True

だったかと思います。

最後に

myXLS.Save

入れてご確認くださいませ。

805 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078201
(SS)C-BOARD v3.8 is Free