素のエクセルを開いて文字を打つ際、いきなりローマ字で入力することはできるのでしょうか。

エクセルを開いた後に「半角/全角」を押せばいいとか、「入力規則の設定を変更すればいい」とかではなく、素のエクセルを開いた時に最初からローマ字入力する方法を知りたいのです。

入力規則で入力方法を変更したファイルを開くとローマ字から始めることはできるようですが、設定変更したファイル(例えば設定変更したファイルをデスクトップに保存したものを開くといったこと)ではなく素のエクセルを開いて任意のセルにローマ字入力する方法はないのでしょうか。

質問者からの補足コメント

  • Windows 10
    Excel 2013 です。

      補足日時:2017/06/18 02:03

A 回答 (7件)

こんばんは。



>エクセルを開いた時には「タスクバー」右端のアイコンは「A」になっています。
>これを「あ」の状態で開きたいのです。

最初に、#4についてのフォローアップをさせていただきます。ご質問者さんは、試してみないうちに、自分の推測で判断されたようです。インスタンスという用語はご存知でしょうか。

インスタンスとは、鯛焼きの型(モールド)があれば、同じ形の鯛焼きがいくつもできます。同じ形に出来上がった、食べられる方の鯛焼きのことを、インスタンスといい、鯛焼き型のほうを、クラスと呼びます。#4さんのXlStartに入れたテンプレートはその元の型を意味しています。

XlStart フォルダーに入れたものは、テンプレートとして、新しく生成させるブックのインスタンスを作り、IMEがコントロールされるのであって、その都度、設定されたファイルを開けるのではありません。新規のブックに適用されます。ただし、既存のブックには適用されないのではないかと思います。

それをより具体的にしたものが、VBAで可能です。しかし最近は、こうしたコードをお教えしても、興味を示さない人が多いようです。アドインにしてしまえば、その機能だけに着目しますので、そのコード自体は気にならないはずですが、コードをみると恐れをなしてしまうかもしれません。(アドインにするためには、もう少しコードを加えなくてはなりませんが)

#4さんと同じ発想には基づいていますが、それをVBAでインスタンスを取り付けるわけです。新規ブックでも、既存のブックでも、それ自体には影響はしませんし、一切いじる必要性がありません。

参考:
[XL95]日本語入力システムのオン/オフを制御する方法
https://support.microsoft.com/ja-jp/help/407890

これを、そのまま取り付けても、
>素のエクセルを開いて任意のセルにローマ字入力する方法はないのでしょうか。
ご希望のようにはならないのです。そこで、個人用マクロブックに、クラスのインスタンスを設けるという形になります。別に個々のファイルを書き換える必要はありません。
たかが、このためにこんな長いコードが必要かと思われるでしょうが、プログラムというものはこんなものだということです。たったひとつのボタンを押す行為を、自動で行うようにするためには、こういうことも必要なのです。

'//32bit 用です。
''標準モジュール
Public myClass As New Class1
 Public Declare Function ImmGetContext Lib "imm32.dll" (ByVal hWnd As Long) _
     As Long
 Public Declare Function ImmReleaseContext Lib "imm32.dll" _
     (ByVal hWnd As Long, ByVal himc As Long) As Long
 Public Declare Function ImmSetOpenStatus Lib "imm32.dll" _
     (ByVal himc As Long, ByVal b As Long) As Long
 Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal _
     lpClassName As String, ByVal lpWindowName As String) As Long

Sub Auto_Open()
 Set myClass.App = Excel.Application
End Sub

''Class1

Public WithEvents App As Application

Private Sub App_NewWorkbook(ByVal Wb As Workbook)
 ImeActivate
End Sub

Private Sub App_SheetActivate(ByVal Sh As Object)
ImeActivate
End Sub

Private Sub App_WindowActivate(ByVal Wb As Workbook, ByVal Wn As Window)
ImeActivate
End Sub

Private Sub App_WindowDeactivate(ByVal Wb As Workbook, ByVal Wn As Window)
 ImeActivate
End Sub

Private Sub App_WorkbookActivate(ByVal Wb As Workbook)
ImeActivate
End Sub

Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
  With ActiveSheet  '入力セルを認識させる
   On Error Resume Next
    ActiveCell.Activate
    ActiveCell.Select
   On Error GoTo 0
  End With
  ImeActivate
End Sub

'必要に応じてイベントマクロを増やします。

Function IMEControl(ByVal nMode As Long)
   Dim ClassName As String, WindowName As String
   Dim hWnd As Long, IMC As Long, ret As Long
   ClassName = "XLMAIN"
   'WindowName = Application.Caption '不要
   hWnd = FindWindow(ClassName, vbNullChar)
   IMC = ImmGetContext(hWnd)
   ret = ImmSetOpenStatus(IMC, nMode)
   ret = ImmReleaseContext(hWnd, IMC)
End Function
Sub ImeActivate()
If VBA.IMEStatus = vbIMEModeOff Then
   Call IMEControl(1)
End If
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。

>ご質問者さんは、試してみないうちに、自分の推測で判断されたようです。
XlStartフォルダに入れる件のことでしたら、教えて頂いた時に試しています。
入力規則を変更したものをXlStartフォルダに入れたのですが、なぜか開いた時に変化はありませんでした。
(このファイルを選んで開かなければいけない状態)

その後、以下のことを試して動作するようになりました。
XlStartフォルダに保存したファイルに文字を入れて一旦保存 → 再度開いて文字を消して保存 
エクセルを開き直すとローマ字入力できるシートが開くことができました。

ただ、文字を入力して上書き保存すると、次回開いた時に新規のシートではなく、文字が残ったままのものが開かれます。
設定されたファイルを上書き保存して、それを開くのと同じ気がしました。

ボタン一つの裏側には長いコードが必要なんですね。

コードをVBに貼り付けてエクセルを立ち上げました。
やはり、上書き保存されてしまいますが、やりたいことはかなり近いです!

お礼日時:2017/06/19 01:29

>やはり、上書き保存になってしまうようです。


おっしゃっている質問要項は、完全に可能だということは申しておきます。

ここら辺は、一応、VBAとしての上級レベルに該当しますから、クラス-インスタンスの仕組み自体を理解しないと、よく分からないかもしれません。アドインを提供という手もないのではないのですが、この手のアドインは、今の私の故障しているPCでは、少し荷が重すぎます。いつ、アクセスが不能になるか、あぶない状態です。

個人用マクロブック自体は、お分かりになっているようではあっても、上書き保存が、何を対象にしているかすら、こちらでは正直なところ、不明なのです。

新規ブックに対して、何かの変更を加えれば、「上書き」というよりも、「名前をつけて保存する」ことを求められますし、「個人用マクロブック」自体も、書き加えれば、一度は、保存を求められるのは当然ではありますが、それ一度だけです。一旦、「個人用マクロブック」を保存して、再起動していただくか、もしくは、Auto_Open を一度実行していただくようにするわけです。

PERSONAL.XLSB 等のプロジェクトエクスプローラー(特殊な内容ですので、詳しい説明は省略します)の画像をつけておきます。なお、Book1側は、似たような内容ですが、これは、別のマクロです。PERSONAL.XLSB は、もちろん、XlStart フォルダー(C:\Users\[My ID]\AppData\Roaming\Microsoft\Excel\XLSTART\ の場所にあるファイルのことです。
「エクセルを開いて文字を打つ際、いきなりロ」の回答画像7
    • good
    • 0
この回答へのお礼

出来ないモヤモヤ感はありますが、ハードルは高いようです。
今回の質問と同じようなことをしたいと思ってる方がいるかもしれません。
コードが書いてあるところにスタンプを押しておきます。

お礼日時:2017/06/19 18:16

フィードバックしていただきありがとうございます。


一般的には、私のような書き込みは、無視されるのを承知で書いています。

XlStart のフォルダの中に入れて、Excelを再起動した時に、初めて、機能が働き、インスタンスが生成されるという仕組みです。それは、私が書いたコードでも同じなのですが、「個人用マクロブック」(Personal.xlsb)に組み込むということをして、見えないマクロを、立ち上げるブックに機能を付け足すという役目をさせる、というような機能なのです。

>上書き保存されてしまいますが、
今、お使いになるブックや新規のブックには、機能が働いた(IME ON)だけで、そこには何も残らないはずです。したがって、マクロつきのブックとかは、一切関係がなく、上書きということにはならないはずです。

構造的には以下のようになります。
[ウィンドウの選択]ボタンを押しますと、
---------------------------
新規ブック.XLSX
既存のブック.XLSX
---------------------------
PERSONAL.XLSB(非表示)--ここにマクロが搭載され、上記のブック全体に及ぼす
===============

IMEを起動させる方法には、COMアドインの、xll(拡張子) やExcel-DNAでの便利な方法が隠されているとは思うのですが、今のところ、私の技術は不勉強なもので、コードを提示できる古い手段に頼ってしまいます。

ちなみに、こうした基本機能を改変する技術というのは、ほとんど、どの機能でも、難易度が非常に高いのです。あえて、私の今回のコードをおすすめするつもりはありませんが、もう少し検証してみたらいかがかと思います。言葉の反応から、何か誤解が潜んでいるような気がします。
    • good
    • 0
この回答へのお礼

やはり、上書き保存になってしまうようです。
いろいろ教えて頂き、ありがとうございます。

お礼日時:2017/06/19 13:26

次の手順をお試しあれ。


1.新規ブックを開く
2.全選択ボタン(列記号Aの左側、かつ、行番号1の上側の四角い部分)をチョーン
3.[データ]→[データツール <データの入力規則>]
4.[日本語入力]タブ画面において、"コントロールなし"→"ひらがな"に変更
5.[OK]をパシーッ
6.上の操作を全シートで実施したブックをテンプレートとして保存
7.Excel 起動時に当該テンプレートを開かせる

Excel 2002 使用して頃は、テンプレートを XLStartフォルダに置いておけば、上記のステップ7が動作したものだが、Excel 2013 では試したことがないし、試すつもりもない。興味ないから。XLStartフォルダの存在可否も知らない。
「エクセルを開いて文字を打つ際、いきなりロ」の回答画像4
    • good
    • 0
この回答へのお礼

ありがとうございます。
入力規則を変更したものを保存して開けばできるようですね。

質問の本文にも書いていますが、

”エクセルを開いた後に「半角/全角」を押せばいいとか、「入力規則の設定を変更すればいい」とかではなく、素のエクセルを開いた時に最初からローマ字入力する方法を知りたいのです。”
”入力規則で入力方法を変更したファイルを開くとローマ字から始めることはできるようですが、設定変更したファイル(例えば設定変更したファイルをデスクトップに保存したものを開くといったこと)ではなく素のエクセルを開いて任意のセルにローマ字入力する方法はないのでしょうか。”

お礼日時:2017/06/18 12:40

貴方の「ローマ字入力」の意味は所謂「直接入力」のことですか?


此処で言う「直接入力」とは、日本語に変換しない半角英数記号を入力することです。
ひょっとして"全角"文字の「ローマ字入力」のことかも知れないので、確認しています。

私も同じ環境だけど、Excel に限らず、メモ帳等も、新規にそれらを開いた時点では"半角"文字の「ローマ字入力」モードになっています。
もしそれで良ければ、
[タスクバー]右端の[あ]([A]かも)アイコン(添付図参照)をマウスで右クリックして、
[プロパティ]→[詳細設定]→[全般]の画面における各設定が何と表示されているかをお知らせください。私のものと比較して、何が異なるかを見ますから。
「エクセルを開いて文字を打つ際、いきなりロ」の回答画像3
    • good
    • 0
この回答へのお礼

エクセルを開いた時には「タスクバー」右端のアイコンは「A」になっています。
これを「あ」の状態で開きたいのです。

「タスクバー」右端のアイコン「A」を右クリックすると「半角英数」にチェックが入っていますが、「ひらがな」にチェックが入った状態でエクセルを始めたいということです。

例 キーボードで「o」と打ったときに「お」と表示させる

”[プロパティ]→[詳細設定]→[全般]の画面における各設定が何と表示されているかをお知らせください。” → 入力設定の欄は「ローマ字入力」となっています。

お礼日時:2017/06/18 11:34

excelのバージョン、windowsのバージョンが不明ですが、


下記のURLは参考になりませんでしょうか。
http://inakamura.main.jp/main/archives/1204#Exce …


https://answers.microsoft.com/ja-jp/windows/foru …
    • good
    • 0
この回答へのお礼

参考URLありがとうございます。やってみましたが、改善しませんでした。

お礼日時:2017/06/18 11:00

エクセルは文書ファイルではないので、無理です

    • good
    • 0
この回答へのお礼

エクセルでは無理なのですね。ありがとうございます。

お礼日時:2017/06/18 11:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報