過去ログ

                                Page     325
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼半角カタカナを全角カタカナに  ちょび 02/11/6(水) 10:31
   ┗Re:半角カタカナを全角カタカナに  つん 02/11/6(水) 10:43
      ┣Re:半角カタカナを全角カタカナに  ちょび 02/11/6(水) 10:48
      ┗Re:半角カタカナを全角カタカナに  ちょび 02/11/6(水) 14:15
         ┗えっ?え〜〜っ(>_<) Help!!  つん 02/11/6(水) 16:25
            ┣Re:えっ?え〜〜っ(>_<) Help!!  角田 02/11/6(水) 17:37
            ┗1文字ずつかなぁ  JuJu 02/11/6(水) 19:50
               ┣ありがとー  つん 02/11/6(水) 22:14
               ┗Re:1文字ずつかなぁ  ちょび 02/11/7(木) 8:59
                  ┗遅まきながら参加  Jaka 02/11/7(木) 9:11
                     ┗気になったことが...  JuJu 02/11/8(金) 19:45
                        ┗JuJuさんに言われて...。  Jaka 02/11/11(月) 13:34
                           ┗要望はないけど...  JuJu 02/11/11(月) 15:19
                              ┗Re:要望はないけど...  でれすけ 02/11/11(月) 16:39

 ───────────────────────────────────────
 ■題名 : 半角カタカナを全角カタカナに
 ■名前 : ちょび
 ■日付 : 02/11/6(水) 10:31
 -------------------------------------------------------------------------
   質問です。
シート全体に対して半角カタカナを全角カタカナに変更したいのですが・・・?
よろしくおねがいします。
 ───────────────────────────────────────  ■題名 : Re:半角カタカナを全角カタカナに  ■名前 : つん <honey@sweetparty.ne.jp>  ■日付 : 02/11/6(水) 10:43  -------------------------------------------------------------------------
   ちょび さん、おはようございます。

>シート全体に対して半角カタカナを全角カタカナに変更したいのですが・・・?
>よろしくおねがいします。

こんなんでどうでしょうか?

Sub test()

  Dim r As Range
  
  For Each r In Worksheets("Sheet1").UsedRange
    r.Value = StrConv(r.Value, vbWide)
  Next r
  
End Sub

あ、でも、これやったら、半角アルファベットも全角になってしまうか・・・
あかんかな?
 ───────────────────────────────────────  ■題名 : Re:半角カタカナを全角カタカナに  ■名前 : ちょび  ■日付 : 02/11/6(水) 10:48  -------------------------------------------------------------------------
   ▼つん さん:
OKです。
Webで公開するためのデータの準備なんで
英数字も全角でよいのです。
ありがとうございました!!
 ───────────────────────────────────────  ■題名 : Re:半角カタカナを全角カタカナに  ■名前 : ちょび  ■日付 : 02/11/6(水) 14:15  -------------------------------------------------------------------------
   ▼つん さん:

追加なんですが、ちなみにカナだけを変換する場合って????
 ───────────────────────────────────────  ■題名 : えっ?え〜〜っ(>_<) Help!!  ■名前 : つん <honey@sweetparty.ne.jp>  ■日付 : 02/11/6(水) 16:25  -------------------------------------------------------------------------
   >追加なんですが、ちなみにカナだけを変換する場合って????

一文字ずつ文字コードかなんかで見ていかんとあかんかな?
で、関数化すればいいかな?
考えてみるけど、時間かかりそう!

誰か助けて下さい〜
 ───────────────────────────────────────  ■題名 : Re:えっ?え〜〜っ(>_<) Help!!  ■名前 : 角田  ■日付 : 02/11/6(水) 17:37  ■Web : http://www.h3.dion.ne.jp/~sakatsu/index.htm  -------------------------------------------------------------------------
   >誰か助けて下さい〜
ヘルプ受領しました♪

↓のDLサイトの下の方に、でれすけさんの
  『半角全角変換 Ver1.0.0 (アドイン)』
というのがありますので試してみて♪ 文字種ごとに変換できます
http://bird.zero.ad.jp/~zap50064/freesoft/Tools.html
 ───────────────────────────────────────  ■題名 : 1文字ずつかなぁ  ■名前 : JuJu <juju-bbs@su-u.com>  ■日付 : 02/11/6(水) 19:50  -------------------------------------------------------------------------
   みなさん、こんにちはぁ

>一文字ずつ文字コードかなんかで見ていかんとあかんかな?

1文字ずつかなぁ^^;

目の前のASCII表によると、半角カタカナは、ヲ から ゚ のようです。

Sub test()
  Dim r As Range
  Dim s As String
  Dim i As Long

  For Each r In Worksheets("Sheet1").UsedRange
    s = r.Value
    For i = 1 To Len(s)
      If Mid(s, i, 1) Like "[ヲ-゚]" Then Mid(s, i, 1) = StrConv(Mid(s, i, 1), vbWide)
    Next
    If r.Value <> s Then r.Value = s
  Next r

End Sub

もっといい方法が見つかると良いけど。

ではではぁ
 ───────────────────────────────────────  ■題名 : ありがとー  ■名前 : つん <honey@sweetparty.ne.jp>  ■日付 : 02/11/6(水) 22:14  -------------------------------------------------------------------------
   角田先生、JuJu師匠
フォローありがとうございました。

JuJuさんのコード参考になりました。
だいたいそんな感じかな〜って思ってたのだけど、
「カナ」をどう判断すればいいか悩んでました。

どうもありがとう!
 ───────────────────────────────────────  ■題名 : Re:1文字ずつかなぁ  ■名前 : ちょび <aya_nonme@yahoo.co.jp>  ■日付 : 02/11/7(木) 8:59  -------------------------------------------------------------------------
   ▼JuJu さん:
ありがとうございます。
本当に助かります。
皆々様本当にありがとうございました。
またよろしくお願いします。
 ───────────────────────────────────────  ■題名 : 遅まきながら参加  ■名前 : Jaka  ■日付 : 02/11/7(木) 9:11  -------------------------------------------------------------------------
   濁音の部分は、省略させていただきました。

Sub ggg()
  Dim 対象文字 As String, 変換文字 As String, CNT As Long, 変換範囲 As Range
  対象文字 = "ァィェゥォャュョアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワンヲ"
  変換文字 = "ァィゥェォャュョアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホ" & _
       "マミムメモヤユヨラリルレロワンヲ"
  Set 変換範囲 = Range(ActiveSheet.UsedRange.Address(0, 0))
  For CNT = 1 To Len(対象文字)
    変換範囲 = Application.Substitute(変換範囲, Mid(対象文字, CNT, 1), Mid(変換文字, CNT, 1))
  Next
  Set 変換範囲 = Nothing
  End
End Sub。
 ───────────────────────────────────────  ■題名 : 気になったことが...  ■名前 : JuJu <juju-bbs@su-u.com>  ■日付 : 02/11/8(金) 19:45  -------------------------------------------------------------------------
   Jakaさん、ちょびさん、こんにちはぁ

私のサンプル、濁点(半濁点)の変換がいまいちですね。
「バ」を「バ」ではなく「ハ゛」って変換するみたい。1文字ずつ変換しているから当然なんですけど。

要望があれば、修正しますよ。Jakaさんベースの方が対応が簡単そうですね。

ではではぁ
 ───────────────────────────────────────  ■題名 : JuJuさんに言われて...。  ■名前 : Jaka  ■日付 : 02/11/11(月) 13:34  -------------------------------------------------------------------------
   JuJu さん こんにちはぁ
>
>私のサンプル、濁点(半濁点)の変換がいまいちですね。
>「バ」を「バ」ではなく「ハ゛」って変換するみたい。1文字ずつ変換しているから当然なんですけど。
>
>要望があれば、修正しますよ。Jakaさんベースの方が対応が簡単そうですね。

JuJuさんに言われて自分のを試してみたら。

ガギグゲゴ
 ↓
カギキギクギケギコギ

となってしまいました。
省略と偽って手抜きするんじゃなかった。
手抜きした私が悪いです。
すみません。
 ───────────────────────────────────────  ■題名 : 要望はないけど...  ■名前 : JuJu <juju-bbs@su-u.com>  ■日付 : 02/11/11(月) 15:19  -------------------------------------------------------------------------
   Jakaさん、こんにちはぁ

Jakaさんのを勝手に改造^^;

 変換文字 = ""
 For i = Asc("ヶ") To Asc("ァ") Step -1
   変換文字 = 変換文字 & Chr(i)
 Next
 For CNT = 1 To Len(変換文字)
   変換範囲 = Application.Substitute(変換範囲, StrConv(Mid(変換文字, CNT, 1), vbNarrow), Mid(変換文字, CNT, 1))
 Next

こんなんでどうでしょう^^

ではではぁ
 ───────────────────────────────────────  ■題名 : Re:要望はないけど...  ■名前 : でれすけ  ■日付 : 02/11/11(月) 16:39  -------------------------------------------------------------------------
   こんにちわ
1553で角田さんが紹介されている私のアドインのキモの関数部分です。

要は、一文字づつ検査していっているのですが、
半角カタカナの時は次の文字が濁点、半濁点も検査するということをしています。

ConvFullHalf(文字列,optkana:=vbWide)
みたいな感じで使ってもらえると思います。

Public Function ConvFullHalf(ByVal Str As String, _
             Optional ByVal optKana As Integer = 0, _
             Optional ByVal optHira As Integer = 0, _
             Optional ByVal optAlph As Integer = 0, _
             Optional ByVal optDigt As Integer = 0, _
             Optional ByVal optSymb As Integer = 0, _
             Optional ByVal optSpac As Integer = 0)

Dim C As String, retStr As String

Do Until Str = ""
  C = Left(Str, 1)
  Str = Right(Str, Len(Str) - 1)
  Select Case C
   Case "ぁ" To "ん"                          ' ひらがな
     retStr = retStr & StrConv(C, optHira)
   Case "A" To "Z", "a" To "z", "A" To "Z", "a" To "z"       ' アルファベット
     retStr = retStr & StrConv(C, optAlph)
   Case "0" To "9", "0" To "9"                    ' 数字
     retStr = retStr & StrConv(C, optDigt)
   Case " ", " "                           ' スペース
     retStr = retStr & StrConv(C, optSpac)
   Case Else
     Select Case Left(StrConv(C, vbNarrow), 1)
      Case Chr(&H21) To Chr(&H2F), Chr(&H3A) To Chr(&H40), _
         Chr(&H5B) To Chr(&H60), Chr(&H7B) To Chr(&H7E)      ' 記号
         retStr = retStr & StrConv(C, optSymb)
      Case Chr(&HA1) To Chr(&HDF)                  ' カタカナ
        If Left(Str, 1) = Chr(&HDE) Or Left(Str, 1) = Chr(&HDF) Then
         retStr = retStr & StrConv(C & Left(Str, 1), optKana)
         Str = Right(Str, Len(Str) - 1)
        Else
         retStr = retStr & StrConv(C, optKana)
        End If
      Case Else
        retStr = retStr & C
     End Select
  End Select
Loop

ConvFullHalf = retStr

End Function
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 325