- 締切済み
Access2000で非連結オブジェクトの保存について
フォームにエクセルのシートを非連結オブジェクトで張り付けてみたんですが、VBAで保存するにはどんなメソッドでコントロールは何になるんでしょうか?どなたか教えて下さい。宜しくお願いします。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- keikan
- ベストアンサー率42% (75/176)
エクセル側に制御が移れば「複写保存」という形で保存で着るみたいですが、Accessからその制御ができるかは微妙です。 Sendkey等ではたぶんコマンドはエクセル側に遅れないと思うので、エクセル側にボタンでも貼り付けてそのボタンを押してもらうことによって保存するマクロをエクセル側に造るのはどうでしょう。 あとは、フォームにシートを貼り付ける際に空のシートまたはテンプレートから読み込んだシートをリンクして貼り付けるというのはどうでしょう。ただし、読み込みに時間がかかったような気がしますが。
- keikan
- ベストアンサー率42% (75/176)
名前の変更は Forms![フォーム名].[非連結OLE1].name="いろはにほへと" などですが、 何が保存できないのかわかりません。 ちなみにどんな名前で保存されていますか? その名前は他で利用されていませんか?
- keikan
- ベストアンサー率42% (75/176)
>フォームにエクセルのシートを非連結オブジェクトで張り付けてみたんですが とありますが、アクセスのフォームにエクセルのシートを貼り付けたんじゃないですか?そうであれば、貼り付けた後で、そのフォームを保存してください。
補足
ごめんなさい。私の説明が悪いと思います。 確かにアクセスのフォームにエクセルのシートの一部分をコピーして貼り付けました。するとそのオブジェクトのプロパティウインドウは非連結オブジェクトフレームになりますよね。そのウインドウのその他タブの中にある名前プロパティをある特定な名前に設定しています。その名前で保存しようとしたんですができませんでした。 説明わかりますでしょうか?
- keikan
- ベストアンサー率42% (75/176)
エクセルのシートを貼り付けたと言うことは、 対象のフォームをデザインで開いてますよね? そのフォーム名を指定して保存されていますか?
補足
フォーム名ですか?いえ、貼り付けたオブジェクトが非連結オブジェクト(エクセルのシート)なので、その名前で保存しています。
- keikan
- ベストアンサー率42% (75/176)
acformのみす^^;;
補足
ご回答ありがとうございます。 今、試してみたんですが、”オブジェクトが開いていません”というエラーがでました。エクセルのシートは貼り付けてあるのですが。また名前もつけてあります。貼り付けただけでは開いていることにはならないんしょうか?
- keikan
- ベストアンサー率42% (75/176)
DoCmd.Save asFrom "フォーム名" でいいのでは?^^
補足
急遽出張で返信が遅れまして申し訳ありませんでした。 早速やってみました。 保存できました。 私のやっていることが違っていました。 エクセルのシートのみを保存しようとしていました。 それはできないんですね。フォームごと保存しないとダメなんですね。フォームの名前を指定したら保存できました。エクセルのシートのみを保存する方法ってないんでしょうか?もしあれば、教えて頂きたいんですが? 宜しくお願いします。