If you are frustrated that print_r($obj) (where $obj is something returned from a call to a function on a COM object) does not return anything helpful, and that variant_get_type($obj) just returns a number, the function you are actually after is:
com_print_typeinfo($obj);
It lists all functions, variables, their types in a human-readable (well, programmer-readable) format. Lovely!variant
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
variant
Референца за `class.variant.php` со подобрена типографија и навигација.
варијанта класа
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
Вовед
VARIANT е еквивалент на COM на PHP zval; тоа е структура што може да содржи вредност со опсег од различни можни типови. Класата variant обезбедена од COM екстензијата ви овозможува да имате поголема контрола врз начинот на кој PHP ги пренесува вредностите до и од COM.
Синопсис на класата
примери на варијанти
Пример #1 пример на варијанта
<?php
$v = new variant(42);
print "The type is " . variant_get_type($v) . "<br/>";
print "The value is " . $v . "<br/>";
?>Забелешка:
Кога враќате вредност или земате својство на варијанта, варијантата се претвора во PHP вредност само кога постои директно совпаѓање помеѓу типовите што не би резултирало со загуба на информации. Во сите други случаи, резултатот се враќа како инстанца на класата variant. Можете да го присилите PHP да ја претвори или процени варијантата како PHP нативен тип со користење на оператор за кастинг експлицитно, или имплицитно кастинг во стринг со printго. Можете да го користите широкиот опсег на функции за варијанти за да извршите аритметички операции на варијанти без да форсирате конверзија или да ризикувате загуба на податоци.
Види исто така variant_get_type().
Содржина
- variant::__construct — variant конструктор на класа
Белешки од корисници 2 забелешки
With thanks to Harald Radi and Wez Furlong.
Some VBA functions have optional parameters. Sometimes the parameters you want to pass are not consecutive.
e.g.
GoTo What:=wdGoToBookmark, Name="BookMarkName"
GoTo(wdGoToBookmark,,,"BookMarkName)
In PHP, the "blank" parameters need to be empty.
Which is ...
<?php
// Some servers may have an auto timeout, so take as long as you want.
set_time_limit(0);
// Show all errors, warnings and notices whilst developing.
error_reporting(E_ALL);
// Used as a placeholder in certain COM functions where no parameter is required.
$empty = new VARIANT();
// Load the appropriate type library.
com_load_typelib('Word.Application');
// Create an object to use.
$word = new COM('word.application') or die('Unable to load Word');
print "Loaded Word, version {$word->Version}\n";
// Open a new document with bookmarks of YourName and YourAge.
$word->Documents->Open('C:/Unfilled.DOC');
// Fill in the information from the form.
$word->Selection->GoTo(wdGoToBookmark,$empty,$empty,'YourName'); // Note use of wdGoToBookmark, from the typelibrary and the use of $empty.
$word->Selection->TypeText($_GET['YourName']);
$word->Selection->GoTo(wdGoToBookmark,$empty,$empty,'YourAge');
$word->Selection->TypeText($_GET['YourAge']);
// Save it, close word and finish.
$word->Documents[1]->SaveAs("C:/{$_GET['YourName']}.doc");
$word->Quit();
$word->Release();
$word = null;
print "Word closed.\n";
?>
The example document is ...
Hello [Bookmark of YourName], you are [Bookmark of YourAge] years old.
and it would be called ...
word.php?YourName=Richard%20Quadling&YourAge=35
Regards,
Richard.