ラベルテキストを壊すトリックはありますか?'\ n''\ r''\ n\r'が機能しないため。どうもありがとう
質問する
4200 次
4 に答える
2
これらの2 つのパラメーターを使用すると、やりたいことができますね。
app.createLabel(text).setWidth(width).setWordWrap(true)
ここに例があります(他のウィジェットの中でも;-):
function showurl() {
var app = UiApp.createApplication();
app.setTitle("Anchor in a popup ;-)");
var panel = app.createFlowPanel()
var image = app.createImage('https://sites.google.com/site/appsscriptexperiments/home/photo.jpg').setPixelSize(50, 50)
var link = app.createAnchor('This is your link', 'https://sites.google.com/site/appsscriptexperiments/home');
var lab = app.createLabel("wrap it because it's too narrow").setWidth(90).setWordWrap(true);
var quit = app.createButton('quit');
panel.add(image).add(link).add(lab).add(quit);
app.add(panel);
var doc = SpreadsheetApp.getActive();
doc.show(app);
}
編集:トーストメッセージの改行についての古い投稿(Googleグループフォーラムで、Henriqueに感謝します;-)を見つけました。その場合に使用したコードは次のとおりです...原則はラベルでも機能するはずですが、私はしませんでした試してみてください。これを使用するには、テキストを含む変数で \n (改行したい場所) を使用し、この関数に渡します。(説明するスクリプトにいくつかのコメントがあります)
function break_(msg){
var temp = escape(msg);// shows codes of all chars
msg = unescape(temp.replace(/%20/g,"%A0")); // replace spaces by non break spaces
temp = msg.replace("\n"," "); // and replace the 'newline' by a normal space
return temp; // send back the result
}
于 2012-06-21T20:11:33.653 に答える
1
それらを垂直パネルに追加することも同様に役立ちます(希望する方法ではありませんが、それでも..):
var vPanel = app.createVerticalPanel().setSize(100,100);
var label = app.createLabel('predominantly blabla blala blabla');
app.add(vPanel.add(label));
リファレンスを参照
于 2012-11-07T15:12:39.767 に答える
1
このようなものは機能しますか?
//takes a line of text and returns a flex table broken by \n
function breakLabel(text) {
var app = UiApp.getActiveApplication();
var flexTable = app.createFlexTable();
text = text.split('\n'); // split into an array
for (var i=0; i<text.length; i++){
flexTable.setWidget(i, 0, app.createLabel(text[i].toString()));
}
return flexTable;
}
于 2012-06-22T20:30:59.360 に答える
0
これに出くわしたばかりの人にとって、最善の解決策は、改行が必要なものすべてに対して HTML 出力を作成することです。
var htmlApp = HtmlService
.createHtmlOutput('<p>A change of speed, a change of style...</p>')
.setSandboxMode(HtmlService.SandboxMode.IFRAME)
.setTitle('My HtmlService Application')
.setWidth(250)
.setHeight(300);
SpreadsheetApp.getActiveSpreadsheet().show(htmlApp);
// The script resumes execution immediately after showing the dialog.
于 2015-08-25T21:24:21.120 に答える