- 1 名前:デフォルトの名無しさん mailto:sage [2012/08/19(日) 17:01:50.51 ]
-
ExcelのVBAに関する質問スレです ★1 質問テンプレ(雛形)は用意しませんが、OSとExcelのバージョンは必ず書きましょう。 ★2 ExcelのVBA以外の部分に関する質問はNGです。 但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。 ★3 ExcelのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。 VBAとは、『Visual Basic for Applications』の略で Application ├Workbooks |└Workbook | ├Worksheets | |└Worksheet というApplication以下のオブジェクトを、VB言語で操作するものを指します。 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。 ★4 とりあえず、Excelのインスタンスを作らずにVB6で出来ることは全てスレ違いだと思ってください。 ★5 レベルはどうあれ、ここはプログラマ用の板スレです。プログラマとは、自分でプログラムを組み、 コードを書く人の事なので、自分でやるきは全く無く、丸投げしようって人はお断りです。 ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。 ★6 わからなければとりあえず「マクロの記録」(Alt, T, M, R) 前スレ: Excel VBA 質問スレ Part25 toro.2ch.net/test/read.cgi/tech/1341722983/
- 202 名前:デフォルトの名無しさん [2012/09/10(月) 11:09:37.38 ]
- VBAであるセル範囲をコピペして他のシートに貼り付けたとき
図のオブジェクトがどういうわけかコピペされないんです。 どうすればこの図のオブジェクトも正しくコピペされて他のシートにも表示させるようにできますか?
- 203 名前:デフォルトの名無しさん mailto:sage [2012/09/10(月) 11:21:30.08 ]
- 馬鹿には無理
- 204 名前:202 [2012/09/10(月) 11:31:04.49 ]
- >>203みたいな馬鹿には回答は無理なのは分かりますよ。
- 205 名前:デフォルトの名無しさん mailto:sage [2012/09/10(月) 11:37:58.19 ]
- ただ図がセル範囲からはみ出してるだけじゃないのか?
- 206 名前:202 [2012/09/10(月) 11:40:24.57 ]
- いえ、しっかりセル範囲内におさまっています。
列は3、行は20くらい、 図はちょうどど真ん中あたりにあり、1つのセルと同じくらいの大きさなのに。
- 207 名前:デフォルトの名無しさん mailto:sage [2012/09/10(月) 14:03:16.08 ]
- 2007以降だっけ、図形や画像のオブジェクト仕様が変わってるから
その影響じゃね確かめてないけど
- 208 名前:デフォルトの名無しさん mailto:sage [2012/09/10(月) 14:23:25.83 ]
- >>202
コードも貼らずに・・・VBAでコピペといっても丸ごと・値だけ・図だけ・云々 値だけコピぺのコードになっていないか?
- 209 名前:デフォルトの名無しさん mailto:sage [2012/09/10(月) 15:30:15.55 ]
- 再現できたよ
import os import win32com.client def test_auto_shape(filename): xl = win32com.client.Dispatch('Excel.Application') xl.Visible = True try: book = xl.Workbooks.Open(filename) sheet = book.Worksheets(2) rs = "A10:D20" sheet.Select() sheet.Range(rs).Select() xl.Selection.Copy() sheet = book.Worksheets(1) sheet.Select() sheet.Range(rs).Select() xl.Selection.PasteSpecial() finally: xl.Workbooks.Close() xl.Quit() if __name__ == '__main__': test_auto_shape(os.path.abspath(u'autoshape_copy.xls'))
- 210 名前:デフォルトの名無しさん mailto:sage [2012/09/10(月) 15:36:44.24 ]
- きもっ
- 211 名前:デフォルトの名無しさん mailto:sage [2012/09/10(月) 15:39:18.22 ]
- こっちのコードなら図形も正しくコピペされたよ
import os import win32com.client def test_auto_shape(filename): xl = win32com.client.Dispatch('Excel.Application') xl.Visible = True try: book = xl.Workbooks.Open(filename) sheet = book.Worksheets(2) rs = "A10:D20" sheet.Range(rs).Copy(book.Worksheets(1).Range(rs)) finally: xl.Workbooks.Close() xl.Quit() if __name__ == '__main__': test_auto_shape(os.path.abspath(u'autoshape_copy.xls'))
- 212 名前:デフォルトの名無しさん [2012/09/10(月) 15:43:04.57 ]
- Select って恥ずかしいよね
- 213 名前:デフォルトの名無しさん mailto:sage [2012/09/10(月) 15:50:50.02 ]
- なんでVBAのコードにしないんだろう?
- 214 名前:デフォルトの名無しさん mailto:sage [2012/09/11(火) 11:33:18.80 ]
- 中二病だから
|

|