VBからエクセルの操作

解決


しもやん  2005-09-06 02:40:42  No: 92040

Dim xl As Object 'Excel.Application
Dim wb As Object 'Excel.Workbook
Dim ws As Object 'Excel.Worksheet
    
' エクセルオブジェクトの新しいインスタンスを作成
Set xl = CreateObject("Excel.Application")
    
' ファイル名を指定してワークブックを開く
Set wb = xl.Workbooks.Open("D:\a.xls")
    
' エクセルを表示
xl.Visible = True

以下の構文でVB6.0からエクセルを起動させています。
このエクセルファイルにはすでにデータが存在している既存のファイルなのですが、開く前に1行目に空白行を追加したいのです。
そのままws.Cell(1,1) とすると、1行目のデータに上書きされてしまうので
挿入したいのです。よろしくお願い致します。


なおこ(・∀・)  2005-09-06 02:46:53  No: 92041

お世話になります。

VBAのマクロで吐かれたコードは
こんな感じでした。参考になりますでしょうか。

    Rows("1:1").Select
    Selection.Insert Shift:=xlDown

ご存知かも知れませんが,
花ちゃんさんのサイトです。
http://www.bcap.co.jp/hanafusa/index.html


しもやん  2005-09-06 03:52:30  No: 92042

ちょっと変えて
ws.Rows("1:1").Select
xl.Selection.Insert Shift:=xlDown
でできました。
なおこさんありがとうございます。


とも  2006-06-16 05:03:37  No: 92043

VBでエクセルを開いた時に、「開いているブックには、他のファイルへの自動リンク が設定されています。このブックを更新し他のブックの変更を反映しますか?」 のメッセージを出さないようには出来ないのでしょうか?

自分で試みた事:
1、DisplayAlerts = false
2、エクセルのツール−オプション−編集−リンクの自動更新前にメッセージを表示するをオフ

結果:
1では、現象変わらず。2、では、「はい」ボタンを押下した処理と同等となる為、メッセージは出なくなるがその代わり、ファイル選択ダイアログが開いてしまいます。

何とか、何もメッセージを出さずにVB内で処理したいと考えています。
予め、開く前にリンクエラー等が判れば良いのですが・・・。

アドバイスよろしくお願いいたします。


とも 自己レス  2006-06-16 17:57:21  No: 92044

Open メソッド の引数のUpdateLinksを設定する事で解決いたしました。
お騒がせ致しました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加