2017-08-14 16 views
0

Google Apps Scriptでドキュメントを自動的に開くことはできません。しかし、カスタムメニューからドキュメントを開く方法はありますか?メニューから項目を選択し、特定の文書を直接開くのは、文書へのリンクをクリックする必要があるダイアログボックスを開くよりも快適です。Google Apps Script:メニューからドキュメントを開く

+0

カスタムメニューはGoogle Apps Scriptを使用して作成されるため、同じ制限が適用されます。あなたができる最良の方法は、カスタムメニューが利用可能なメニューリンクを持つダイアログボックスを開き、それをファイルを開くためのメニュー項目と考えることです。 –

+0

私はすでにそう考えていました。ありがとうございました。 – wepli23

答えて

1

これについて少し考えてみましょう。サイドバーは一種のメニューとして機能し、開いているときにサイドバーを表示させることができます。これは、メニュー項目の種類とリンクを選択する機能を提供するため、ニーズに合わせて実行可能です。 Dialogs and Sidebars in G Suite Documentsページの例を使用すると、以下のコードではサイドバーメニュー項目だけでなく、サイドバーメニュー項目も認識しているダイアログボックスのシナリオが可能になります。

Code.gsファイルでは、場所:

function onOpen() { 

    showSidebar(); 

    SpreadsheetApp.getUi() // Or DocumentApp or FormApp. 
     .createMenu('Dialog') 
     .addItem('Open', 'openDialog') 
     .addItem('Show sidebar', 'showSidebar') 
     .addToUi(); 
} 

function openDialog() { 
    var html = HtmlService.createHtmlOutputFromFile('dialog'); 
    SpreadsheetApp.getUi() // Or DocumentApp or FormApp. 
     .showModalDialog(html, 'Dialog title'); 
} 


function showSidebar() { 
    var html = HtmlService.createHtmlOutputFromFile('sidebar') 
     .setTitle('My custom sidebar') 
     .setWidth(300); 
    SpreadsheetApp.getUi() // Or DocumentApp or FormApp. 
     .showSidebar(html); 
} 

次に、2つのHTMLファイル、 "対話" と "サイドバー" を作成し、目的を表示するために、それぞれに次の行を追加します。 dialog.html代わりに次のように:

<!DOCTYPE html> 
<html> 
    <head> 
    <base target="_top"> 
    </head> 
    <body> 
    Hello, World! 
    <input type="button" value="Close" 
     onclick="google.script.host.close()" /> 
    </body> 
</html> 

sidebar.htmlに配置します:

Hello, world! <input type="button" value="Close" onclick="google.script.host.close()" /> 
<br/> 
<a href="https://drive.google.com/open?id=16HHKXBMmWXh5NBZRAnFDiwGrZ">Open My Sample File here</a> 
<br/> 
<a href="https://drive.google.com/open?id=16HHKXBMmWXh5NBZRAnFDiwGrZ" target="_blank">Open My Sample File in a new tab</a> 

エディタで開く時に()を実行、または再び開き、ファイルを保存して閉じた場合、あなたはファイル内のサイドバーを取得する必要があります。 HTMLのHello World項目を適切な項目に置き換えます。 URLの一部を削除すると、提供されたリンクが機能しないことに注意してください。

+0

ありがとうございました!これは良い回避策です。 – wepli23

関連する問題