ベストアンサー ※ ChatGPTを利用し、要約された質問です(原文:VBAで) VBAでWordのマクロをパワーポイントで動作させる方法 2010/03/06 21:50 このQ&Aのポイント VBAでWordのマクロを作成し、それをパワーポイントで動作させる方法について教えてください。WordのVBAコードをパワーポイントのVBAにコピペするとエラーが発生し、オブジェクトを指定してくださいと表示されます。どこを修正すれば良いのでしょうか。VBAを使用して平文ファイルに地図を挿入する方法について解説してください。 VBAで VBAで Wordのマクロを作りました それをパワーポイントで動作させるにはどうしたらいいですか? WordのVBAのコードは Sub 地図の挿入() ' ' 地図の挿入 Macro ' ' Selection.InlineShapes.AddOLEObject ClassType:="JSCstudioH.Document", _ FileName:="", LinkToFile:=False, DisplayAsIcon:=False End Sub でこれをパワーポイントのVBAにコピペするとエラー424 オブジェクトを指定してください と表示されます。 どこを直したらよいか分かる人いたら教えてください 質問の原文を閉じる 質問の原文を表示する みんなの回答 (3) 専門家の回答 質問者が選んだベストアンサー ベストアンサー n_na_tto ベストアンサー率70% (75/107) 2010/03/07 12:15 回答No.3 余計なものを取り忘れました。こっちで。 ActiveWindow.Selection.SlideRange.Shapes.AddOLEObject _ Left:=10, Top:=50, Width:=600, Height:=450, _ ClassName:="AcroExch.Document.7", _ FileName:="", Link:=msoFalse 質問者 補足 2010/03/07 21:57 ありがとうございます。 挿入されましたがワードの場合ソフトが自動で起動しますが これでは自動的には起動してくれません。 自動的に起動するにはどうしたいいでしょうか? お願いします 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 その他の回答 (2) n_na_tto ベストアンサー率70% (75/107) 2010/03/07 12:09 回答No.2 こんな感じですか? With ActiveWindow.Selection.SlideRange.Shapes.AddOLEObject _ (Left:=10, Top:=50, Width:=600, Height:=450, _ ClassName:="JSCstudioH.Document", _ FileName:="", Link:=msoFalse) End With 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 piroin654 ベストアンサー率75% (692/917) 2010/03/07 07:32 回答No.1 エラー424はどこにエラーがあるのかは こちらではわからないエラーです。 しいてあげるならば、 >ClassType:="JSCstudioH.Document" のJSCstudioH.Documentというクラスが 参照設定の中に存在し、それにチェックが はいっているのか、くらいですか。 また、提示されたコードはWordで使用する オブジェクトが表示されているので、 パワーポイントの中にWordを挿入し、 そのモジュールで書かない限り、動かない のでは、と思いますが(推測ですが)。 パワーポイントの中でコンパイルして エラーが出なかったのですか。 パワーポイントでSub 地図の挿入() ということをするなら、パワーポイント で使えるオブジェクトとパワーポイント で使用できるVISUAL VASICで書く必要が あると思います。 つまり全面書き直し? 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ パソコン・スマートフォンソフトウェアオフィス系ソフト 関連するQ&A wordのマクロでクリップボードの処理 WORD文書上に、「c:\....jpg」という画像へのアドレスが複数あるとします。そのアドレスを画像に差し替えたいのですがうまくいきません。。 とりあえずマクロでまず「c:\\*jpg」で検索をかけて、文字列をコピー、その文字列を使って図の挿入をしようと思っています。 Sub Macro1() Dim 画像 Selection.Find.ClearFormatting With Selection.Find .Text = "C:\\*jpg" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchFuzzy = False .MatchWildcards = True End With Selection.Find.Execute Selection.Copy ※クリップボードの内容を変数「画像」へ代入 Selection.Delete Unit:=wdCharacter, Count:=1 Selection.InlineShapes.AddPicture FileName:= _ 画像, LinkToFile:=False, SaveWithDocument:= _ True End Sub 以上が今考えているマクロなんですが、※の部分で変数「画像」へクリップボードから代入をする処理がどうにもうまくいきません。 wordのマクロは初めていじるのでよくわかりません。 どなたかわかる方教えてください。よろしくお願いします。 オブジェクト名をVBAで指定する方法を教えてくださ VBAでワークシートにOLEObjectsのコマンドボタンを設置してるのですが ボタンのオブジェクト名をVBAで指定するにはどうすればいいでしょうか? Private Sub CommandButton1_Click() With ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False) .Object.Name = "ボタン1" .Object.Caption = "ボタン" .Object.Font.Size = 9 .Width = ActiveCell.Width .Height = ActiveCell.Height End With End Sub を実行すると、 .Object.Name = "ボタン1" の部分で 「オブジェクトは、このプロパティまたはメソッドをサポートしていません。(Error 438)」というエラーになります。 他のコードは大丈夫です。 オブジェクト名をVBAで指定する方法を教えてください。 当方エクセル2003です。 WORD VBA 繰り返し処理 WORD VBAについて教えてください。 つぎのようなマクロがあり、これを検索する文字列がなくなるまで、繰り返して、処理するようにしたいのですが、どうすればよいのでしょうか? Sub Macro1() Selection.Find.ClearFormatting With Selection.Find .Text = "あ" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = False .MatchFuzzy = True End With Selection.Find.Execute Selection.MoveRight Unit:=wdCharacter, Count:=1 End Sub 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? OKWAVE コラム ワードでマクロで画像を中央揃えにしたい ワードでマクロを使って、挿入・画像ファイルで取り込んだ画像を、レイアウトの詳細設定で水平、垂直ともページを基準にして、中央揃えにしたいのです。 画像は1ページに1枚です。 たくさんの画像を一つ一つやるのは大変です。 やり方のわかる方がいたらお願いします。 参考までに画像を取り込む部分を載せておきます。 ' Sub Macro1() ' Dim FileName As String ' ChDir ThisDocument.Path ' FileName = Dir("*.jpg") While FileName > "" Selection.InsertBreak Type:=wdPageBreak ' 改ページ Application.Browser.Previous ' 前のページへ ' 画像の読み取り ActiveDocument.Shapes.AddPicture(Anchor:=Selection.Range, _ FileName:=FileName, LinkToFile:=False, _ SaveWithDocument:=True).WrapFormat.Type = 5 ' Application.Browser.Next ' 次のページへ ' FileName = Dir Wend ' End Sub ' VBAで作成したComboboxにVBAでマクロを割り当てたい。 下記コードでcomboboxをつくったのですが 作成されたCombobox1のComboBox1_Changeエベントに 標準モジュール内のSub cal をVBAで割り当てたいのですが可能でしょうか。 コンボボックス作成マクロ x=0 y=0 With Worksheets("Sheet1").OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, DisplayAsIcon:=False) .Left = X .Top = Y .Width = 53.25 .HEIGHT = 18 .ListFillRange = "AAA" End With これで作成したコンボボックスに標準モジュール内マクロをVBAで割りあてしたい。 標準モジュール sub cal ・ ・ end sub excel vba (1)下記のマクロに出てくるApplication.CutCopyMode = False というのは何でしょうか。 (2)また自分でマクロ記録してあるシートを、別のシートにコピーしたとき Application.CutCopyMode = False Selection.Copy というのが、付くときとつかないときがあったんですがなぜそのようなことがおきるのか。 (3)またSelection.Copyというのは何ですか。 Sub Macro1() ' ' Macro1 Macro ' マクロ記録日 : 2007/1/11 ユーザー名 : ××××× ' ' Workbooks.Open Filename:="C:\aaa\bbbbb\cccc\aaaa_1.xls" Columns("H:H").Select Application.CutCopyMode = False Selection.Cut Columns("E:E").Select Selection.Insert Shift:=xlToRight Columns("I:I").Select Selection.Cut Columns("G:G").Select Selection.Insert Shift:=xlToRight With Selection.Font .Name = "MS 明朝" .Size = 10 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = xlAutomatic End With ActiveSheet.PageSetup.PrintArea = "$A$1:$L$61" ActiveWorkbook.Save End Sub エクセルーマクローコマンドボタン表示を消す方法 エクセルーマクローコマンドボタン表示を消す方法 下記マクロを書いて実行したところ、シートにコマンドボタンというのが付着しました。ファイルを上書きしたので、取れなくなりました。ボタンを消す操作はどうすればいいか。 Sub Macro2() ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False _ , DisplayAsIcon:=False, Left:=300, Top:=200, Width:=94.5, Height:=25).Select End Sub 指定した行に文字を入力するVBAコードは? ワードのマクロで、「上から6行目に文字を入れる」 と言う事をしたい場合は、 ------------------ Sub Macro1() Selection.TypeParagraph Selection.TypeParagraph Selection.TypeParagraph Selection.TypeParagraph Selection.TypeParagraph Selection.TypeText Text:="あああ" End Sub や Sub Macro2() Dim i As Long For i = 1 To 5 Selection.TypeParagraph Next Selection.TypeText Text:="あああ" End Sub ------------------ としなくては駄目でしょうか? エクセルのように、「●行目に文字を入力する」と指定できないかどうかが知りたいです。 オブジェクトブラウザで「Range」を検索したら、Rangeオブジェクトがあったので、 行の指定ができるのかな?と思いました。 ご教授よろしくお願いします。 エクセルのマクロについて OS:XP Excel:2007 お世話になります。 マクロ初心者ですが宜しくお願いします。 エクセルにワードの文字を挿入するマクロを組んでみたのですがセルのサイズの取得方法が解りません。 挿入したオブジェクトのサイズを数値にて指定するところまでは出来たのですが、選択されているセルのサイズに合わせる為にはどうしたら良いでしょうか? 宜しくお願いします。 Sub 起動コピー() Call word起動 Call wordコピー Call 形式を選択して貼付 Call セルに合わせる End Sub Sub word起動() Set wd = CreateObject("word.Application") wd.Visible = True wd.Documents.Open Filename:= _ "C:\Documents and Settings\aaa.docx" End Sub Sub wordコピー() Dim wdApp As Word.Application Set wdApp = GetObject(, "word.application") wdApp.Run "copy" wdApp.quit End Sub Sub 形式を選択して貼付() ActiveSheet.PasteSpecial Format:="Microsoft Office Word 文 書 オブジェクト", Link:= _ False, DisplayAsIcon:=False End Sub Sub セルに合わせる() Selection.ShapeRange.ScaleHeight 1.08, msoFalse, msoScaleFr omTopLeft Selection.ShapeRange.ScaleWidth 0.93, msoFalse, msoScaleFro mTopLeft End Sub エクセルVBA マクロの記録をコマンドボタンにコピペしても動かないのはなぜ? マクロを記録した以下は問題なく動くのですが、 Sub Macro1() Sheets("AAA").Select Range("A39:AQ39").Select Selection.Copy Sheets("BBB").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False End Sub これをシート”BBB”のコマンドボタンに下記のようにコピペすると Range("A39:AQ39").Selectでエラーが発生し動きません。 どうすれば動くようになるのでしょうか? また、どうしてボタンだとコピペするだけではいけないのでしょうか? Private Sub CommandButton1_Click() ここにコピペ End Sub 【エクセルVBA】別のファイルに名前の定義もコピーして貼り付け エクセルファイル、book1,book2があります。 book1のA1-A10には日付という名前の定義がしてあります。 book1にあるコマンドボタンを押すと このA1-A10をコピーして、book2を開き、book2のA1セルに貼り付け るようにします。このあとbook2のA1-A10をドラッグしたとき 日付という名前の定義がしてあるようにしたいです。 普通に貼り付けたら名前の定義はされてないと思いますが、 形式を選択して貼り付けのXMLスプレッドシートで貼り付けると 名前の定義もコピーして貼り付けられたので、 それを取り入れてコードを入力したのですがうまくいきません。 以下が私が入力したコードです。 Private Sub CommandButton1_Click() Macro1 End Sub 以下は標準モジュール Sub Macro1() Range("A1:A10").Select Selection.Copy Workbooks.Open Filename:= (ファイルの保存先) Range("A1").Select ActiveSheet.PasteSpecial Format:="XML スプレッドシート", Link:=False, DisplayAsIcon:=False Application.CutCopyMode = False ActiveWorkbook.Save ActiveWindow.Close Windows("book1.xls").Activate End Sub book2を開くところまではうまくいきますが、その後の貼り付けがうまくできません。 デバックでは ActiveSheet.PasteSpecial Format:="XML スプレッドシート", Link:=False, DisplayAsIcon:=False が黄色く表示され、「実行時エラー1004 WorksheetクラスのPasteSpecialメソッドが失敗しました。」 となります。 どこをどう訂正したらよいか、あるいは他のうまくいくコードをご存知でしたら教えてください。よろしくお願いします。 Excelのマクロ(VBA)について教えてください。 このようなマクロをつくりたいのですがうまく作れません。 セルをコピーした後、貼り付け先のセルを選択して、 <ここからがマクロ> 形式を選択して貼り付け→罫線を除くすべて <マクロ終了> 他の貼り付け方法はうまくできるのですが、「罫線を除くすべて」だけができません。 参考までにこれが作られたVBAです。 Sub Macro1() Selection.PasteSpecial Paste:=xlAllExceptBorders, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False End Sub 以上です。 どなたかアドバイスよろしくお願いします。 ヤバいパソコンが壊れたかも!?事前に知っておきたい3つの兆候と対策 OKWAVE コラム ExcelのVBAで Excel2007のVBAで以下のことは可能でしょうか? Sheet1の上にコンボボックス(アイテムリスト)とコマンドボタン(配置用ボタン)を設置しています。 コンボボックスよりユーザーがアイテムを選択してコマンドボタンを押すことで対応するアイテムの画像をシートに挿入します。 シートに挿入する画像は、最大100アイテムを予定しています。 困っている部分が、挿入したアイテムをユーザーがマウスでクリックしたときに VBAでどの画像が選択されたかを判断することは可能でしょうか? アイテムがクリックされると同時にクリックされたアイテムのコードや名称等の諸元データを特定のセルに表示をしたいという事が行いたいのです。 以上、何かヒントや解決方法があればご教授願います。 図の挿入に関しては下記のロジックで挿入しています。 Private Sub CommandButton1_Click() dim pc(100) as shape dim flname as string '画像のファイル名は、"pic" + コード + ".jpg" 'A1にはコンボボックスで選択されたコードが設定されています。 flname = "pic" & Worksheets("sheet1").Range("a1").Value & ".jpg" 'idxはGlobal変数です。 idx = idx + 1 Set pc(idx) = ActiveSheet.Shapes.AddPicture(Filename:=flname, LinkToFile:=True, savewithdocument:=False, Left:=Selection.Left, Top:=Selection.Top, Width:=100#, Height:=100#) end sub ワード vba ワードの文書内に、文字があるかどうかをvbaで確認したいのですが エクセルのコードを張り付けてみましたが、 もちろんエラーになります。 Sub Macro() If Not Cells.Find(What:="test", MatchByte:=False) Is Nothing Then Debug.Print "testはあります" End If End Sub Cellsで、エラーになります。 このようなコードをワードで使う場合はどう書き換えればいいでしょうか? よろしくお願いします。 ご教授ください。 こんにちは。 MS Office (Excel)で、下記のソースがネット上で公開されていたのですが、細かいコマンドの意味がわからないので、解説頂けないでしょうか? <以下がソースです> Sub コンボボックス作成() Dim i As Integer For i = 1 To 20 Cells(i, 1) = "リスト" & i Next ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, _ DisplayAsIcon:=False, Left:=Cells(1, 4).Left, Top:=0, _ Width:=120, Height:=24).Select With Selection .ListFillRange = "A1:A20" .Object.ListRows = 20 .Object.Font.Size = 32 End With Application.CommandBars("Control Toolbox").Visible = False Range("C1").Select End Sub 出来れば1行ずつ解説頂けるとありがたいです。 宜しくお願い致します。 ファイルオープンのVBAの書き方教えてください テキストデータの中に含まれる改頁マークや改行マークや空白など通常の印刷では印刷されないものをゲラ刷り印刷したときに目で見える適当な記号に置換してチェックできるようなことを目指しています。VBAを勉強したことがないのでキー操作を記録してそのようなマクロを作ろうとしています。以下が記録されたソースですが、これだとgera.txtというファイルが他のディレクトリーやドライブにあった場合にはエラーになります。どのドライブにあろうが、どのディレクトリーにあろうがエクスプローラーのファイルを参照する窓のようなものが開いて、gera.txtを探せるような汎用的なファイルオープンができるようにしたいのですが、どのように書き直せばそのようになるのか教えていただけると助かります。 ----(VBAソース) Sub ゲラ刷り() ' ' ゲラ刷り Macro ' 記録日 2007/08/13 記録者 ' ChangeFileOpenDirectory "D:\変換\" Documents.Open FileName:="gera.txt", ConfirmConversions:=False, ReadOnly:= _ False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _ "", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _ Format:=wdOpenFormatAuto, XMLTransform:="", Encoding:=932 Selection.WholeStory Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = Chr(13) .Replacement.Text = "△" & Chr(13) & Chr(10) .Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = False .MatchFuzzy = True End With ----(以下省略) Excel VBA comboboxへの割り当て 下記コードにてcomboboxを任意の数作成しました。 このComboboxに Sub Sub1を割り当てたいのですが どうすればいいでしょうか、 (OnChange,Chaneはエラーでした) また、その際どのcomboboxからよばれたか引数で渡したいのですが どうすればいいでしょうか。 '---------------結果こうなるようにしたい Private Sub ComboBox1_Change() call sub1("コンボの名前") End Sub '----------combobox作成 With Worksheets("AAA").OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, DisplayAsIcon:=False) .Left = X .Top = Y .Width = 100 .Height = 18 .ListFillRange = "LIST" .OnChange="sub1" ->エラーでした .Change="sub1" ->エラーでした End With MicrosoftWordのページ指定置換マクロ お世話になります。 MicrosoftWordの文章の中の『SYSTEMS』と単語を XXXXXXXに置換するマクロを作ってみましたが これですとWordの文章ファイルの 全てページの『SYSTEMS』とゆう単語を置換してしまいます。 Wordの文章ファイルの1ページ目だけの全ての『SYSTEMS』 とゆう単語を置換するマクロはどのようにすればよいでしょうか? Sub Macro2() ' ' Macro2 Macro ' ' Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "SYSTEMS" .Replacement.Text = "XXXXXXX" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = False .MatchFuzzy = True End With Selection.Find.Execute Replace:=wdReplaceAll End Sub エクセルVBAでエラーがでます。 エクセルで以下のようなVBAをつくりましたが Columns("B:C").Select でエラーがでます。 初歩的なことですが教えてください。 Sub Macro3() ' ' Macro3 Macro Worksheets(1).Copy before:=Worksheets(1) Worksheets(1).Activate Columns("B:C").Select Selection.Delete Shift:=xlToLeft Columns("C:L").Select Selection.Delete Shift:=xlToLeft Columns("H:H").Select Columns("L:AA").Select Selection.Delete Shift:=xlToLeft End Sub VBAで VBAで PowerPoint2007でVBAで挿入したオブジェクトを開くというのを作りたいのですがどのように記述したらいいのでしょうか? ちなみに今のコードはこちらです ActiveWindow.Selection.SlideRange.Shapes.AddOLEObject _ Left:=10, Top:=50, Width:=600, Height:=450, _ ClassName:="JSCstudioH.Document", _ FileName:="", Link:=msoFalse 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ パソコン・スマートフォン ソフトウェア Excel(エクセル)Word(ワード)PowerPoint(パワーポイント)Access(アクセス)その他MS Office製品オフィス系ソフトPhotoshop(フォトショップ)Illustrator(イラストレーター)その他Adobe製品画像・動画・音楽編集ホームページ作成ソフト筆まめ・はがき作成フリーウェア・フリーソフトその他(ソフトウェア) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
補足
ありがとうございます。 挿入されましたがワードの場合ソフトが自動で起動しますが これでは自動的には起動してくれません。 自動的に起動するにはどうしたいいでしょうか? お願いします