Memo/2004-12-27
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
#contents
*Power Point 関連情報 [#ue3e9409]
**サンプルコード [#r7530d70]
***テキストボックスの文字列を置換するサンプル [#v9f8156a]
-テキストボックスの文字列を置換するサンプル
' <使い方>
' 1. Power Point の「Visual Basic Editor」を起動します。
' 2. [挿入] - [標準モジュール] を選択します。
' 3. 下記のコードを貼り付けます
' 4. [実行] - [Sub/ユーザー フォームの実行] で
' ChangeKanaText() プロシージャを実行します。
' → スライド上の文字列を一括置換します。
Option Explicit
Function IsKatakana(strTarget As String) As Boolean
Dim strPattern
strPattern = "[ア-ンア-ン]" ' カタカナ範囲チェック用
Dim reg As Object
Set reg = CreateObject("VBScript.RegExp") ' 正規表現...
reg.Pattern = strPattern
IsKatakana = reg.Test(strTarget)
Set reg = Nothing
End Function
Sub ChangeKanaText()
' スライドを取得
Dim slide
For Each slide In ActiveWindow.Parent.Slides
' スライド内のシェイプオブジェクト(テキストボッ...
Dim shape
For Each shape In slide.Shapes
' シェイプ(テキストボックス等)の単語を取得
Dim word
For Each word In shape.TextFrame.TextRange.W...
' 文字列の置換
If IsKatakana(word.Text) = True Then
' カタカナの場合は全角に変換
word.Text = StrConv(word.Text, vbWide)
Else
' それ以外は半角に変換
word.Text = StrConv(word.Text, vbNar...
End If
Next
Next
Next
End Sub
-補足(ポイント送信にて連絡)
> 質問ですが、VBAの記述の中で修正しなければならない
> (はてなの投稿で全角になってしまった部分)
> は、[ア-ンア-ン]のところでしょうか?
> どこを半角に修正すればよいでしょうか?
はてな投稿時に全角になってしまう部分は「’」「”」「¥」の...
[ア-ンア-ン] は、実際は [全角ア-ン、半角ア-ン] となってい...
あと、ソースコードを見やすくする為、全角スペースでインデ...
付けてあります。
コードを修正するのが面倒であれば、
http://www.hondarer-soft.com/cx/pukiwiki/pukiwiki.php?Me...
にオリジナルのソースコードを置いてありますので、こちらを...
> 実行してみましたが、
> For Each word In shape.TextFrame.TextRange.Words
> のところでひっかかりました。
> 『TextFrame.TextRange:無効な要求です。この種類の図形...
> というメッセージです。
該当ファイルが無いので、実際の事象が分かりませんが、
おそらく、テキストフレームを含まないようなシェイプオブジ...
存在する為だと思われます。
想定される問題に対応したバージョンを作成致しました。
-テキストボックスの文字列を置換するサンプル2(修正版)
' <使い方>
' 1. Power Point の「Visual Basic Editor」を起動します。
' 2. [挿入] - [標準モジュール] を選択します。
' 3. 下記のコードを貼り付けます
' 4. [実行] - [Sub/ユーザー フォームの実行] で
' ChangeKanaText() プロシージャを実行します。
' → スライド上の文字列を一括置換します。
Option Explicit
Function IsKatakana(strTarget As String) As Boolean
Dim strPattern
strPattern = "[ア-ンア-ン]" ' カタカナ範囲チェック用
Dim reg As Object
Set reg = CreateObject("VBScript.RegExp") ' 正規表現...
reg.Pattern = strPattern
IsKatakana = reg.Test(strTarget)
Set reg = Nothing
End Function
Sub ChangeKanaText2()
' スライドを取得
Dim slide
For Each slide In ActiveWindow.Parent.Slides
' スライド内のシェイプオブジェクト(テキストボッ...
Dim shape
For Each shape In slide.Shapes
' シェイプが TextFrame を持つ場合のみ後続の...
If shape.HasTextFrame = msoTrue Then
' シェイプ(テキストボックス等)の単語を...
Dim word
For Each word In shape.TextFrame.TextRan...
' 文字列の置換
If IsKatakana(word.Text) = True Then
' カタカナの場合は全角に変換
word.Text = StrConv(word.Text, v...
Else
' それ以外は半角に変換
word.Text = StrConv(word.Text, v...
End If
Next
End If
Next
Next
End Sub
-実行例
--変換前
#ref(PowerPoint_Convert_Before.jpg)
--変換後
#ref(PowerPoint_Convert_After.jpg)
-はてな
--http://www.hatena.ne.jp/1104101386
-参考情報
--[RegExp クラス] VBScript - Dynamic Scripting
---http://www.interq.or.jp/student/exeal/dss/ref/vbscript...
--正規表現による Visual Basic Scripting Edition (VBScript...
---http://www.microsoft.com/japan/msdn/columns/scripting/...
--StrConv() 関数の使用例
---http://www.hondarer-soft.com/cx/pukiwiki/pukiwiki.php?...
--PowerPoint でテキストボックスにアクセスする方法
---http://www.hondarer-soft.com/cx/pukiwiki/pukiwiki.php?...
終了行:
#contents
*Power Point 関連情報 [#ue3e9409]
**サンプルコード [#r7530d70]
***テキストボックスの文字列を置換するサンプル [#v9f8156a]
-テキストボックスの文字列を置換するサンプル
' <使い方>
' 1. Power Point の「Visual Basic Editor」を起動します。
' 2. [挿入] - [標準モジュール] を選択します。
' 3. 下記のコードを貼り付けます
' 4. [実行] - [Sub/ユーザー フォームの実行] で
' ChangeKanaText() プロシージャを実行します。
' → スライド上の文字列を一括置換します。
Option Explicit
Function IsKatakana(strTarget As String) As Boolean
Dim strPattern
strPattern = "[ア-ンア-ン]" ' カタカナ範囲チェック用
Dim reg As Object
Set reg = CreateObject("VBScript.RegExp") ' 正規表現...
reg.Pattern = strPattern
IsKatakana = reg.Test(strTarget)
Set reg = Nothing
End Function
Sub ChangeKanaText()
' スライドを取得
Dim slide
For Each slide In ActiveWindow.Parent.Slides
' スライド内のシェイプオブジェクト(テキストボッ...
Dim shape
For Each shape In slide.Shapes
' シェイプ(テキストボックス等)の単語を取得
Dim word
For Each word In shape.TextFrame.TextRange.W...
' 文字列の置換
If IsKatakana(word.Text) = True Then
' カタカナの場合は全角に変換
word.Text = StrConv(word.Text, vbWide)
Else
' それ以外は半角に変換
word.Text = StrConv(word.Text, vbNar...
End If
Next
Next
Next
End Sub
-補足(ポイント送信にて連絡)
> 質問ですが、VBAの記述の中で修正しなければならない
> (はてなの投稿で全角になってしまった部分)
> は、[ア-ンア-ン]のところでしょうか?
> どこを半角に修正すればよいでしょうか?
はてな投稿時に全角になってしまう部分は「’」「”」「¥」の...
[ア-ンア-ン] は、実際は [全角ア-ン、半角ア-ン] となってい...
あと、ソースコードを見やすくする為、全角スペースでインデ...
付けてあります。
コードを修正するのが面倒であれば、
http://www.hondarer-soft.com/cx/pukiwiki/pukiwiki.php?Me...
にオリジナルのソースコードを置いてありますので、こちらを...
> 実行してみましたが、
> For Each word In shape.TextFrame.TextRange.Words
> のところでひっかかりました。
> 『TextFrame.TextRange:無効な要求です。この種類の図形...
> というメッセージです。
該当ファイルが無いので、実際の事象が分かりませんが、
おそらく、テキストフレームを含まないようなシェイプオブジ...
存在する為だと思われます。
想定される問題に対応したバージョンを作成致しました。
-テキストボックスの文字列を置換するサンプル2(修正版)
' <使い方>
' 1. Power Point の「Visual Basic Editor」を起動します。
' 2. [挿入] - [標準モジュール] を選択します。
' 3. 下記のコードを貼り付けます
' 4. [実行] - [Sub/ユーザー フォームの実行] で
' ChangeKanaText() プロシージャを実行します。
' → スライド上の文字列を一括置換します。
Option Explicit
Function IsKatakana(strTarget As String) As Boolean
Dim strPattern
strPattern = "[ア-ンア-ン]" ' カタカナ範囲チェック用
Dim reg As Object
Set reg = CreateObject("VBScript.RegExp") ' 正規表現...
reg.Pattern = strPattern
IsKatakana = reg.Test(strTarget)
Set reg = Nothing
End Function
Sub ChangeKanaText2()
' スライドを取得
Dim slide
For Each slide In ActiveWindow.Parent.Slides
' スライド内のシェイプオブジェクト(テキストボッ...
Dim shape
For Each shape In slide.Shapes
' シェイプが TextFrame を持つ場合のみ後続の...
If shape.HasTextFrame = msoTrue Then
' シェイプ(テキストボックス等)の単語を...
Dim word
For Each word In shape.TextFrame.TextRan...
' 文字列の置換
If IsKatakana(word.Text) = True Then
' カタカナの場合は全角に変換
word.Text = StrConv(word.Text, v...
Else
' それ以外は半角に変換
word.Text = StrConv(word.Text, v...
End If
Next
End If
Next
Next
End Sub
-実行例
--変換前
#ref(PowerPoint_Convert_Before.jpg)
--変換後
#ref(PowerPoint_Convert_After.jpg)
-はてな
--http://www.hatena.ne.jp/1104101386
-参考情報
--[RegExp クラス] VBScript - Dynamic Scripting
---http://www.interq.or.jp/student/exeal/dss/ref/vbscript...
--正規表現による Visual Basic Scripting Edition (VBScript...
---http://www.microsoft.com/japan/msdn/columns/scripting/...
--StrConv() 関数の使用例
---http://www.hondarer-soft.com/cx/pukiwiki/pukiwiki.php?...
--PowerPoint でテキストボックスにアクセスする方法
---http://www.hondarer-soft.com/cx/pukiwiki/pukiwiki.php?...
ページ名: