2016-11-30 20 views
2

私はコードに精通していません。私はチームにこれを試してみたかったのです。私が持っているのは、Googleのスプレッドシートを開くたびに警告メッセージ(OKボタン付き)をポップアップする単純なコードです。私がしたいのは、 "OK"をクリックすると、新しいタブでリンクが開きます。ここに私の「スクリプトエディタ」のコードがあります:ウェブサイトを「OK」ボタンにリンクする必要があります

function onOpen() { 
var ss= SpreadsheetApp.getActiveSpreadsheet(); 
var ui = SpreadsheetApp.getUi().alert('Welcome to HAVENLY Offshore Team Workspace! Check out our CONFLUENCE updates today!'); 
} 

は私がここに私の究極の目標達成を支援してください、私はすでに時間のために解決策を見つけるためにしようとしてきました。前もって感謝します!

+0

そうではありません。代わりに小さなwebappダイアログを作成し、ユーザーにアンカーをクリックさせてください。私たちにあなたの試みを見せてください。 –

答えて

1

alertの代わりにカスタムダイアログを使用すると、これを行うことができます。カスタムダイアログは、独自のhtmlを定義できるので、はるかに強力です。シートに添付されたスクリプトで次のファイルを作成するだけです。

Code.gs

function onOpen() { 
    openWelcomeDialog(); 
} 

function openWelcomeDialog() { 
    // get the html from the file called "Pages.html" 
    var html = HtmlService.createHtmlOutputFromFile('Pages'); 

    // open the dialog 
    SpreadsheetApp.getUi() 
    .showModelessDialog(html, "Welcome to HAVENLY Offshore Team Workspace!") 
} 

Pages.html

<!DOCTYPE html> 
<html> 
    <head> 
    <base target="_top"> 
    </head> 
    <body> 

    <!-- target="_blank" directs the link to a new blank tab --> 
    <a target="_blank" href="http://stackoverflow.com/questions/17711146/how-to-open-link-in-new-tab-on-html"> 
     Check out our CONFLUENCE updates today! 
    </a> 
    </body> 
</html> 

更新 ユーザーがでリンクをクリックするときにも、ダイアログを閉じることができますonclickイベントハンドラ:

<a onclick="google.script.host.close()" target="_blank" href="||url||"> 
    Check out our CONFLUENCE updates today! 
</a> 
+0

ありがとうございます!ソリューションの場合は –

+0

Thnx。 'HtmlService.createHtmlOutputFromFile(' Welcome ')'の代わりに 'HtmlService.createHtmlOutputFromFile(' Pages ')と表示される必要があります。今、私は 'href = URL'-linkを持つ方法を探しています。URLはスクリプトの前の行のコードで作成されたスプレッドシートです。助言がありますか? – user3722096

+0

@user Hmmm、URLを動的にするとよいでしょう。今日の質問に更新を追加します。 –

関連する問題