Excel VBAでテキストボックスの中央揃えをする方法

このQ&Aのポイント
  • Excel VBAを使用して、テキストボックスの中央揃えをする方法をご教示ください。
  • エクセルからパワーポイントを作成し、テキストボックスを作成したい場合、テキストボックスの文字を中央揃えする方法がわかりません。
  • どのようにすればテキストボックスの文字を中央揃えできるのでしょうか?
回答を見る
  • ベストアンサー

excel vba ppt テキストボックス中央揃

したい事:エクセルからパワーポイントを作成したい       テキストボックスを作成       テキストボックスの文字を中央揃え←ここができないのです;; すいません、色々試したのですが中央揃えができません、どなたかご指導して頂けないでしょうか? ↓途中までのソース Sub PP作成_Click() Dim app As Object Dim pre As Object Dim sld   Dim sh As Object Set app = CreateObject("powerpoint.application") app.Visible = True ' // PP を表示する app.Visible = True ' // PP 新規プレゼンテーション作成 Set pre = app.Presentations.Add(WithWindow:=True) ' // PP 新規スライド挿入 Set sld = pre.Slides.Add(Index:=1, Layout:=12)   Set sh = sld.Shapes.AddTextbox(msoTextOrientationHorizontal _ , 100, 100, 200, 50)   With sh.TextFrame.TextRange    .Text = "テスト" .Font.Size = 100 .Font.Name = "HGP創英角ゴシックUB"   End With End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.2

hakatanosiさん こんにちは。 With sh.TextFrame.TextRange の下に次のプロパティを設定すればできると思います。      .ParagraphFormat.Alignment = 2 ご確認ください。

hakatanosi
質問者

お礼

試してみたところ、中央揃えになりました! jcctairaさん、ありがとうございました! しかしどこのドキュメントを見ればいいかがさっぱりわかりません。。。excel vbaなのか、powerpoint vba?なのか・・

その他の回答 (1)

回答No.1

『色々試した』の内容が書かれてないのではっきりと判らないのですが、 テキストボックスの.TextAlign プロパティに 2 をセットしても中央にならないってことでしょうか?

hakatanosi
質問者

補足

ご回答ありがとうございます。 sh.textFram.TextAlign = 2 で実行してみましたが、このプロパティまたはメソッドをサポートしていませんとでます。。

関連するQ&A

  • ExcelVBAでのPPT操作ついて

    表題の件、質問します。 困っている事が4点あります。 1.PowerPointへ挿入したテキストのサイズを変更したい 2.PowerPointへ挿入したテキストのフォントを変更したい 3.PowerPointへ挿入したグラフのサイズを変更したい 4.powerpointを名前を付けて、指定の場所へ保存 以上、宜しくお願いします。 参考にコードを記述します。 Sub test() Dim app As PowerPoint.Application Dim pre As PowerPoint.presentation Set app = CreateObject("powerpoint.application") app.Visible = True Set pre = app.Presentations(1) app.Presentations(1).Slides(1).Shapes.AddTextbox(msoTextOrientationHorizontal _ , 100, 100, 200, 50).TextFrame.TextRange.Text = "図1" '↑ここで作成したテキストのサイズを変更 '↑ここで作成したテキストのフォントを変更(例:MS 明朝)     Worksheets("グラフ").Shapes(1).CopyPicture pre.Slides(1).Shapes.Paste pre.Slides(1).Shapes(1).Left = 180 pre.Slides(1).Shapes(1).Top = 150 '↑ここで挿入したグラフのサイズを変更(例:縦横50%へ) '最後に、名前を付けて指定の場所へ保存 End Sub ※マクロ起動条件:  1.excelに"グラフ"のsheetがある事  2.sheet内にグラフがある事  3.powerpointを開いていること(スライドが1枚ある事)

  • エクセルから現在起動しているアクセスファイルをアクティブにしたい

    現在エクセルとアクセスを開いています。 エクセルマクロで現在開いているアクセスをアクティブにしたいのですがうまくいきません。 Sub アクセスをアクティブにする() Dim app As Object Set app = CreateObject("Access.Application") app.Application.Visible = True app.Visible = True End Sub これを実行すると新たに空のアクセスアプリケーションが開きます。 (app.Application.Visible = True)を抜いても同じです。 現在起動中のアクセスファイル(○○○.mdb)をエクセルからアクティブにするにはどうすればいいのでしょうか? ご教授よろしくお願いします。

  • ACCESS2013のVBAで、EXCELを操作

    ご質問させて頂きます。 ACCESS2013のVBAで、EXCELを操作するために 下記のようにしています。 ------- Dim oApp As Object Dim oWkb As Object Dim oWks As Object Dim Rw As Integer Dim SQL As String Set oApp = CreateObject("Excel.Application") oApp.Visible = True oApp.DisplayAlerts = Flase '確認メッセージの非表示 ↓↓↓オートメーションエラー Set oWkb = oApp.Workbooks.Open(CurrentProject.Path & "\ひながた.xls") ------- 上記のところでオートメーションエラーになってしまいます。 しかし私の端末ではエラーは出ません。 問題と思われるのは エラーが出る人の端末は、 EXCELが2010と2013と 2つのバージョンがインストールされていることです。 このようなことでエラーが出てしまうことはあるのでしょうか?

  • SETを使ったほうがよい?

    accwessからエクセルファイルを開きたいのですが、 App.Workbooks.Open と、 Set xlBook = xlApp.Workbooks.Open とどちらを使った方がいいのでしょうか? ////////////////////////////////////////////////////////// Private Sub ファイル1_Click() Dim App As Object Dim MyFileName As String MyFileName = "D:\My Documents\test.xls" Set App = CreateObject("Excel.Application") App.Workbooks.Open FileName:=MyFileName App.Visible = True End Sub でも Private Sub ファイル2_Click() Dim xlApp As Object Dim xlBook As Object Dim FileName As String Const FolderName = "D:\My Documents\test.xls" Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Open(FolderName & FileName) xlApp.Visible = True Set xlApp = Nothing Set xlBook = Nothing End Sub ////////////////////////////////////////////////////////// でも開けました。 多分、SETを使うかどうかの違いだと思うのですが VBAでコードを作る際、どちらのコードを使った方がいいか教えてください。

  • ExcelのデータをPPTにエクスポートしたいです(VBA初心者)

    ExcelのデータをPPTにエクスポートしたいです(VBA初心者) ネット検索などをして、下記の手順でエクスポートすることまではできたのですが、 これだと全てのセルデータがPPTの1つのテキストに入ってしまいます。 希望しているのは、セルごとにエクスポート先の テキストボックスを分けたいのですが、 ここから先が分かりません。 どなたかご教授いただけませんか。 よろしくお願いします。 <Excel> A B C D E 1 会社名(1) 住所(1) 担当者(1) 2 会社名(2) 住所(2) 担当者(2) 3 会社名(3) 住所(3) 担当者(3) <PPT> ・Sheet1 テキストボックス1   会社名(1) テキストボックス2   住所(1) テキストボックス3   担当者(1) ・Sheet2 テキストボックス1   会社名(2) テキストボックス2   住所(2) テキストボックス3   担当者(2) --------------------------------------- Sub ExceltoPowerPoint() Dim objRng As Range Dim varRng As Variant Dim intSNum As Integer Dim i, j As Integer Dim PpApp As PowerPoint.Application Dim PpPrs As PowerPoint.Presentation Set objRng = Worksheets("Sheet1").Range("A1:C5") varRng = objRng.Value Set objRng = Nothing Set PpApp = CreateObject("PowerPoint.Application") Set PpPrs = PpApp.Presentations.Add PpApp.Visible = True intSNum = 1 For i = 1 To UBound(varRng, 1) PpPrs.Slides.Add i, ppLayoutBlank PpPrs.Slides(i).Shapes.AddTextbox msoTextOrientationHorizontal, 0, 0, 710, 540 Next For i = 1 To UBound(varRng, 1) For j = 1 To UBound(varRng, 2) With PpPrs.Slides(intSNum).Shapes(1).TextFrame.TextRange If j = UBound(varRng, 2) Then .Text = .Text & CStr(varRng(i, j)) & vbNewLine intSNum = intSNum + 1 Else .Text = .Text & CStr(varRng(i, j)) & vbNewLine End If End With Next Next For i = 1 To UBound(varRng, 1) With PpPrs.Slides(i).Shapes(1).TextFrame.TextRange .Font.NameAscii = "Arial" .Font.NameFarEast = "MS Pゴシック" .Font.NameOther = "Arial" .Lines(1).Font.Size = 10 '1行目 .Lines(2).Font.Size = 30 '2行目 .Lines(3).Font.Size = 20 '3行目 End With Next MsgBox "処理が終了しました。" Set PpPrs = Nothing Set PpApp = Nothing End Sub ---------------------------------------

  • <pre>タグ内のテキストを取得 エクセル VBA

    HTML文書で以下のようになっているテキストをエクセルVBAで取得しようと思います。 <pre class="fontsize3"><tt> テキスト </tt></pre> 以下のコードを書きましたが、失敗しています。 Dim htdoc As HTMLDocument Set htdoc = ie.Document Cells(1,1) = htdoc.getElementsByTagName("pre")(0).innerText 何がまちがっているのでしょうか。

  • Excel VBAで呼び出したWordが文書への差し込みボタンが効かない状態で開く

    以下のExcel VBAでWordは開くのですが、新規文書への差し込みボタンが、活きていないです。参照設定は、Microsoft Word 11.0 Object Libraryを入れています。 どうしたらいいのでしょうか?困っています。 Sub Wordを開き、差し込み印刷する() Dim ワード As Object Dim ワード文書 As Object Dim フルパス As String フルパス = "D:\案内状.doc"          'フルパスを作成 Set ワード = CreateObject("Word.Application") 'Wordを起動 ワード.Visible =True 'Wordを表示 Set ワード文書 = ワード.documents.Open(フルパス) 'Word文書を開く End Sub

  • VBAで既存のパワポのファイルを開くには?

    アクセスやエクセルからVBAで既存のパワポのファイルを開くには? 参照設定をして、 Sub test() Dim App As PowerPoint.Application Dim MyFileName As String Set App = CreateObject("PowerPoint.Application") MyFileName = CurrentProject.Path & "サンプル.ppt" App.Visible = True Set App = Nothing End Sub を実行すると、パワポの空のアプリケーション開きますが肝心のファイルが開きません。 開く方法を教えてください。

  • Workbooks.Open VBA

    Dim xlApp As Object Dim xlWbk As Object Set xlApp = CreateObject("Excel.Application") xlApp.Visible = True Set xlWbk = xlApp.Workbooks.Open("C:\Users\test.xlsx") の後に、 xlWbk.Sheets("1").Select とするのと、 xlApp.Sheets("1").Select とするのでは、 同じ意味ですか? どちらも C:\Users\test.xlsx の シートを選択することになりますか?

  • VBAでIE操作をするサンプル

    VBAでIE操作をするサンプルをネットでいくつか見ているのですが Sub Sample1() Dim objShell As Object Dim objIE As New InternetExplorer Set objShell = CreateObject("Shell.Application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing Set objShell = Nothing End Sub Sub Sample2() Dim objIE As InternetExplorer Set objIE = CreateObject("InternetExplorer.application") objIE.Visible = True objIE.Navigate "http://www.yahoo.co.jp/" Set objIE = Nothing End Sub ではどちらを使った方がいいのでしょうか? 圧倒的にSample2の方がネットでは多いのですが Sample1のやり方もあることを知りました。 Sample1の方法でブラウザを開くメリットはあるのでしょうか?

専門家に質問してみよう