2016-08-30 9 views
0

私の大学と共有するPersonal.xlsbファイルにユーザーインターフェイスのボタンを追加しようとしています。personal.xlsbに保存されているexcelタブのxmlボタン

http://www.rondebruin.nl/win/s2/win001.htm(カスタムXMLを追加するUIエディタ)を使用しようとしていますが、私のhometabに何も表示されないので、fileformatがpersonal.xlsbとxlsmまたはである必要がありますか?しかし、xlsbはxlsmよりも速くロードされると聞きましたので、fileformatを変更したくありません。どのようにExcelでカスタムメニューを作成するか考えていますか?

+0

最も良いのは、別のExcelワークブックとしてインターフェイス(およびそれに付随するマクロ)を作成し、これをアドインとして保存することです。参照:http://www.jkp-ads.com/Articles/buildexceladdin.asp – jkpieterse

+0

素晴らしい! addInとpersonal.xlsbの違いは何ですか?どうすればaddinを配布して自動的に更新できますか?それはいつもpersonal.xlsbと同じ方法で起動時に読み込まれますか? – skatun

+0

私は新しい質問を開くべきでしょうか? xlsbからxlamへの移行に問題があります。このワークブックモジュールに入っているpersonal.xlsbに、xlamのオープンを開始するルーチンを書くにはどうしたらいいですか?xlamファイルの 'Dim objRequest As MSXML2.XMLHTTP60'にも問題があります。 ..だから、xlamへの移動は不可能だと思われる? – skatun

答えて

1

何がしなければならないことは

  1. が(アドインファイル)personal.xlamためにあなたのpersonal.xlsbを保存し、ある
  2. UIエディタを使用してファイルをpersonal.xlamするXMLを追加、コピー、このpersonal.xlamファイルをC:\Users\<username>\AppData\Roaming\Microsoft\AddIns\に編集しました
  3. 今すぐ公開しています。 [開発者]タブに移動し、[アドイン]を選択します。これでaddinファイル名がリストに表示されます。チェックボックスをオンにして[OK]をクリックします。
  4. あなたはDeveloper-からそれをオフにするまで、Excelを再度開き、あなたがExcelを開くたび

今すぐ、ボタンがリボンに表示されますあなたのXMLに言及したタブのリボンであなたのボタンを見てする必要があります>アドイン

注:personal.xlsbを開くと、excelがpersonal.xlsb内のpersonal.xlsbと同じプロシージャをpersonal.xlamファイルからロードするため、エラーが発生します。そうpersonal.xlsbその後

0

からマクロプロシージャを削除xlamへの移動に伴う問題は、私は打ち上げに発射するはThisWorkbookのコードを取得傾けることです:

Private Sub workBook_open() 

    Dim ExcelArgs As String 
    ExcelArgs = Environ("ExcelArgs") 

    Call deleteMacros.deletePersonalFiles 
    'MsgBox ExcelArgs 
    If UCase(ExcelArgs) = "CREO" Then 
     Application.DisplayAlerts = False 
     Call Creo.addNewPartToPartslist 
     Application.DisplayAlerts = True 
    End If 

    If InStr(UCase(ExcelArgs), "DOKLIST") >= 0 Then 
     Application.DisplayAlerts = False 
     Call ProsjektListen.dbDumpDocOut(Split(ExcelArgs, ",")(1)) 
     Application.DisplayAlerts = True 
    End If 


    Set myHelper = New Helper 
    Call VersionControl.checkLatestVersion 

    Call Menu.toolBar 

' temp = Split(Parameters.CmdLineToStr, "\") 
' MsgBox Len(temp(UBound(temp))) 
' If Len(temp(UBound(temp))) > 15 Then 
'  'Call Creo.addNewPartToPartslist 
' End If 
' 
    On Error Resume Next 
    Call filter.Unhide_All_Columns 
    Sheets("List").Cells(1, 1).Select 
End Sub 

だけでなく、この宣言はunvalidです:

Dim objRequest As MSXML2.XMLHTTP60 

最も簡単なのは、personal.xlsbを保ち、ボタンを持っているaddinファイルを追加するのが最も簡単なのですが、それを押したときにPersonal!runMyMacroが呼び出されます。

関連する問題