... the latest videos from the UNIGINE - the official youtube channel.

2D, 3D, game, games, online game, game development, game engine, programming, OpenGL, Open AI, math, graphics, design, graphic, graphics, game development, game engine, programming, web development, web art, web graphic, arts, tutorial, tutorials,
/**
* Creates a new Google Docs document with a test link.
* This script is intended to verify the functionality of setLinkUrl and document placement in a folder.
*/
function createDocumentWithTestLink() {
const docTitle = "Document Test Link GAS";
const doc = DocumentApp.create(docTitle); // Creates the initial document in My Drive
const body = doc.getBody(); // Gets the body of the document to add content
// Add a paragraph of text to the document body
const paragraph = body.appendParagraph("This is a test link to Google.");
// Define the test URL (ensure it's a complete URL with protocol, e.g., https://)
const testUrl = "https://www.google.com";
// Set the hyperlink for the entire paragraph
try {
paragraph.setLinkUrl(testUrl); // Applies the URL as a hyperlink to the paragraph
Logger.log(`Link "${testUrl}" was successfully set on the paragraph.`);
} catch (e) {
Logger.log(`Error setting the link: ${e.message}`); // Logs any error during link setting
}
// --- NEW: Move the document to the same folder as the spreadsheet ---
try {
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // Gets the currently active spreadsheet
const spreadsheetFile = DriveApp.getFileById(spreadsheet.getId()); // Gets the Drive file object for the spreadsheet
// Get the parent folder(s) of the spreadsheet. Assumes there is at least one parent folder.
// If the spreadsheet is in the root of My Drive, this might require different handling.
const parentFolders = spreadsheetFile.getParents(); // Gets an iterator for parent folders
if (parentFolders.hasNext()) { // Checks if there is at least one parent folder
const parentFolder = parentFolders.next(); // Gets the first parent folder
DriveApp.getFileById(doc.getId()).moveTo(parentFolder); // Moves the newly created document to the parent folder
Logger.log(`Document "${docTitle}" was moved to folder: ${parentFolder.getName()} (${parentFolder.getUrl()})`);
} else {
// If the spreadsheet has no parent folder (i.e., it's in My Drive root), the document stays in root.
Logger.log(`Spreadsheet "${spreadsheet.getName()}" has no parent folder. The document remains in the root.`);
}
} catch (e) {
Logger.log(`Error moving the document to the folder: ${e.message}`); // Logs any error during folder move
}
// ------------------------------------------------------------------
// Get the URL of the created document and log it
const docUrl = doc.getUrl();
Logger.log(`Document was created: ${docUrl}`);
// Display a notification to the user (will appear in the script editor or logs)
SpreadsheetApp.getUi().alert('Document created', `A new document with a test link has been created. Check the logs for the document URL and its folder.`, SpreadsheetApp.getUi().ButtonSet.OK);
}
/**
* Adds an option to the "Custom Menu" to run the test function.
* This function is automatically called when the Google Sheet is opened.
*/
function onOpen() {
SpreadsheetApp.getUi() // Gets the user interface object for the spreadsheet
.createMenu('Custom Menu') // Creates a new custom menu named "Custom Menu"
.addItem('Create Test Link Document', 'createDocumentWithTestLink') // Adds an item to the menu that calls createDocumentWithTestLink
.addToUi(); // Adds the custom menu to the spreadsheet's UI
}