Retrieve HTML from Clipboard
MSDN:
| This is sample code. Add error handling and adjust to your requirements as necessary. |
lcHtml = HtmlFromClipboard() IF NOT ISNULL(lcHtml) lnStartHTML = VAL(STREXTRACT(lcHtml, "StartHTML:", "")) lnEndHTML = VAL(STREXTRACT(lcHtml, "EndHTML:", "")) * If StartFragment is present, retrieve HTML fragment IF ("StartFragment" $ lcHtml) lnStartHTML = VAL(STREXTRACT(lcHtml, "StartFragment:", "")) lnEndHTML = VAL(STREXTRACT(lcHtml, "EndFragment:", "")) ENDIF lcHtml = SUBSTR(lcHtml, lnStartHTML + 1, lnEndHTML - lnStartHTML) ***STRTOFILE(lcHtml, "Temp2.html") ***Modify command Temp2.html NOWAIT ELSE ? "HTML is not on clipboard" ENDIF RETURN
FUNCTION HtmlFromClipboard LOCAL lnHtmlFormat, lhMem, lnPtr, lcHtml lcHtml = "" lcHtml = NULL * Load required Windows API functions =LoadApiDlls() * Register HTML format lnHtmlFormat = RegisterClipboardFormat("HTML Format") * open clipboard = OpenClipboard(_SCREEN.hWnd) * Uncomment to see what formats are present on clipboard *= EnumerateClipboardFormats() lhMem = GetClipboardData (lnHtmlFormat) IF lhMem = 0 * No HTML data on Clipboard = CloseClipboard() RETURN lcHtml ENDIF lnPtr = GlobalLock(lhMem) IF lnPtr = 0 * No HTML data on Clipboard = CloseClipboard() RETURN lcHtml ENDIF lnLen = lstrlen (lnPtr) lcHtml = SYS(2600, lnPtr, lnLen) =GlobalUnlock(lhMem) *= EmptyClipboard() = CloseClipboard() RETURN lcHtml FUNCTION LoadApiDlls * Clipboard Functions DECLARE LONG OpenClipboard IN WIN32API LONG HWND DECLARE LONG CloseClipboard IN WIN32API DECLARE LONG RegisterClipboardFormat IN WIN32API STRING lpszFormat DECLARE Long GetClipboardData IN WIN32API Long lnFormat * Memory Management Functions DECLARE LONG GlobalLock IN WIN32API LONG HMEM DECLARE LONG GlobalUnlock IN WIN32API LONG HMEM DECLARE Long lstrlen IN WIN32API Long RETURN FUNCTION EnumerateClipboardFormats * Enumerate the file formats in the clipboard. * Helpful for testing, otherwise is not required. DECLARE Long EnumClipboardFormats IN WIN32API Long lnFormat lnFormat = 0 lnFormat = EnumClipboardFormats(lnFormat) lnCntr = 1 DO WHILE lnFormat > 0 ? lnCntr, lnFormat lnCntr = lnCntr + 1 lnFormat = EnumClipboardFormats(lnFormat) ENDDO ENDFUNC
Recent comments
6 days 13 hours ago
6 days 13 hours ago
6 days 19 hours ago
6 days 21 hours ago
1 week 8 hours ago
2 weeks 8 hours ago
6 weeks 19 hours ago
7 weeks 2 days ago
7 weeks 2 days ago
8 weeks 2 hours ago